Learn Algorithm Design by Building a Shortest Path Algorithm - Step 30

Tell us what’s happening:

No idea what I’m supposed to do here. Tried putting different intergers in distances list, but nothing has worked.

After your for loop, add a print() call and pass in the following string to see the values of the variables you have created: f’Unvisited: {unvisited}\nDistances: {distances}'.

Console says:

Traceback (most recent call last):
File “main.py”, line 17, in
NameError: name ‘unvisited’ is not defined

Your code so far

my_graph = {
    'A': [('B', 3), ('D', 1)],
    'B': [('A', 3), ('C', 4)],
    'C': [('B', 4), ('D', 7)],
    'D': [('A', 1), ('C', 7)]
}


# User Editable Region

def shortest_path(graph, start):
    unvisited = []
    distances = {}
    for node in graph:
        unvisited.append(node)
        if node == start:
            distances[node] = 0
        else:
            distances[node] = float('inf')
print(f'Unvisited: {unvisited}\nDistances: {distances}')

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0

Challenge Information:

Learn Algorithm Design by Building a Shortest Path Algorithm - Step 30

You are supposed to do it after the loop and within the function body. unvisited is not defined in the global scope.

Can’t believe I missed that, thank you!

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.