# Скрипт размещает на холсте точки и маршруты из файлов
# Загрузка данных из файлов
points = {}
for line in open('points.txt'):
line = line.split('\n')
line = line[0]
line = line.split(' ')
line[1] = int(line[1])
line[2] = int(line[2])
points[line[0]] = line[1:]
graphs = {}
for line in open('graphs.txt'):
line = line.split('\n')
line = line[0]
line = line.split(' ')
graphs[line[0]] = line[1:]
from tkinter import *
window = Tk()
canv = Canvas(window,width=500,height=500,bg="white")
for i in points: # прорисовка точек
coords = points[i]
x = coords[0]
y = coords[1]
canv.create_rectangle(x,y,x+5,y+5,fill="black")
canv.create_text(x-5,y-5,text=i)
colors = ["green","red","blue"]
col = 0 # счетчик для цвета
indent = 0 # отступ, чтобы линии не перекрывались
for i in graphs: # извлекли путь
points_path = graphs[i] # список точек пути
length = len(graphs[i]) # их количество
n = 0 # индекс текущей точки
while length > 1:
point = points_path[n] # название точки
coords = points[point] # ее координаты
x1 = coords[0]
y1 = coords[1]
point = points_path[n+1] # название следующей точки
coords = points[point]
x2 = coords[0]
y2 = coords[1]
canv.create_line(x1+indent,y1+indent,x2+indent,y2+indent,fill=colors[col])
length -= 1
n += 1
col += 1
indent += 2
canv.pack()
window.mainloop()
Подписаться
авторизуйтесь
0 Комментарий