开始使用免费开始使用

最短路径 III

这是这一组的最后一个练习!现在请完成代码:当两个节点之间不存在路径时,返回 False

本练习是课程的一部分

Python 网络分析入门

查看课程

练习说明

  • 检查队列是否已被清空。您可以通过使用 [-1] 查看队列的最后一个元素来完成此操作。
  • 放置合适的 return 语句,以指示这两个节点之间是否存在路径。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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 ____
编辑并运行代码