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

Tell us what’s happening:

My code raised an error and I cannot see what it is. I think the indentation is okay. Is the problem with the .remove()? Thank you in advance

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)]
}

def shortest_path(graph, start):
    unvisited = list(graph)
    distances = {node: 0 if node == start else float('inf') for node in graph}
    paths = {node: [] for node in graph}
    paths[start].append(start)

# User Editable Region

    while unvisited:
        current = min(, key=distances.get)
        for node, distance in graph[current]:
            if distance + distances[current] < distances[node]:
                distances[node] = distance + distances[current]
                if paths[node][-1] == node:
                    paths[node] = paths[current]
                else:
                    paths[node].extend(paths[current])
                paths[node].append(node)
        unvisited.remove(paths[current])

# User Editable Region

    print(f'Unvisited: {unvisited}\nDistances: {distances}\nPaths: {paths}')
    
#shortest_path(my_graph, 'A')

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Challenge Information:

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

What does the error message say?

Please Tell us what’s happening in your own words.

Learning to describe problems is hard, but it is an important part of learning how to code.

Also, the more you say, the more we can help!

My guess after looking at your code though is that you aren’t actually removing current. You’re supposed to be remove that letter from the unvisited list; not the paths.

1 Like

You should reset the step before troubleshooting this.

It looks like you accidentally changed this line.

1 Like

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