Cel mai scurt drum III
Acesta este ultimul exercițiu din această serie! Vei finaliza acum problema scriind codul care returnează False atunci când nu există nicio cale între două noduri.
Acest exercițiu face parte din cursul
Introducere în analiza rețelelor în Python
Instrucțiuni pentru exercițiu
- Verifică dacă
queuea fost golit. Poți face asta inspectând ultimul element al cozii cu[-1]. - Adaugă instrucțiunea
returnpotrivită pentru a indica dacă există sau nu o cale între cele două noduri.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
def path_exists(G, node1, node2):
"""
This function checks whether a path exists between two nodes (node1, node2) in graph G.
"""
visited_nodes = set()
queue = [node1]
for node in queue:
neighbors = list(G.neighbors(node))
if node2 in neighbors:
print('Path exists between nodes {0} and {1}'.format(node1, node2))
return True
break
else:
visited_nodes.add(node)
queue.extend([n for n in neighbors if n not in visited_nodes])
# Check to see if the final element of the queue has been reached
if node == ____:
print('Path does not exist between nodes {0} and {1}'.format(node1, node2))
# Place the appropriate return statement
return ____