Обработка множества графов на Python

# Все графы включены в словарь,
# т.е. обработка множества графов.
 
def check_graph(graph): #обработка каждого графа-маршрута
    qty = 0 # Количество точек между заданными пользователем точками
    if first_p in graph:
        if second_p in graph:
            f = 0 # Где находится первая
            while first_p != graph[f]: # определяем
                f += 1
            s = 0 # Где находится вторая точка
            while second_p != graph[s]:
                s += 1
            if f < s: # Если первая точка встречается раньше, чем вторая:
                qty = s - f # количество точек от первой до второй
                while f <= s: # вывод точек
                    print(points[graph[f]],end='  ')
                    f += 1
            else: # Если вторая точка встречается раньше, чем первая
                qty = f - s
                while s <= f:
                    print(points[graph[f]],end='  ')
                    f -= 1
    return qty # Количество точек от первой до второй
 
# точки
points = {'a':[10,20], 'b':[30,15], 'c':[60,10], 'd':[80,25], 'e':[50,40]}
print('Existing points: ',end='')
for i in points:
    print(i,end='  ')
print()
 
# графы-маршруты в словаре
graphs = {'325':['a','d','e','c'], '30':['e','a','b','c','d'],\
          '342':['e','c','a']}
print()
 
# ввод пользователя
first_p = input('First point: ')
second_p = input('Second point: ')
print()
# точки должны быть различны
if first_p == second_p:
    print('You typed the same!')
 
# вызов функции в цикле, нахождение кратчайшего пути
qty_points = 100 
for i in graphs:
    print('Path',i,': ',end='') # i - это ключ, т.е. название графа
    q = check_graph(graphs[i])
    if q != 0 and q < qty_points:
        qty_points = q
        min_graph = i
    print()
 
print('The shortest path:',min_graph)

  Замена элементов списка на Python
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x