Цель этого кода - попытаться вывести маршрут, в котором второй элемент одного кортежа совпадает с первым элементом другого кортежа.
Когда i + = 1 имеет тот же отступ, что и для цикла, "JFK" является источником, path = сегменты.
Я получил ['JFK', 'DEN', 'SFO', 'LAS', 'LAX', 'ORD', 'ATL'], который является правильным ответом.
Когда i + = 1 имеет тот же отступ, что и оператор if, я получаю только ['JFK', 'DEN', 'SFO', 'LAS'].
Кто-нибудь знает почему ???
segments = [
("JFK", "DEN"),
("DEN", "SFO"),
("SFO", "LAS"),
("LAS", "LAX"),
("LAX", "ORD"),
("ORD", "ATL"),
("ATL", "JFK"),
]
def get_route(path, origin):
my_list = []
i = 0
list_len = len(path)
path_copy = path.copy()
while i <= list_len:
for k in path_copy:
if origin == k[0] and origin not in my_list:
my_list.append(k[0])
origin = k[1]
path_copy.remove(k)
i += 1
return my_list
get_route(segments, "JFK")