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

Tell us what’s happening:

I don’t know what to write because I think that my code is correct but of course it isn’t so can someone please help me to understand.

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}

# User Editable Region

       while unvisited:
        current = min(unvisited, 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:

# 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/ Safari/537.36

Challenge Information:

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

If anyone has a similar issue, the code is correct, just try resetting 2 times and then paste the exact same code into it then submit!

Hello, welcome to the forum. It seems to me like an indentation error in your while loop apart from a condition if paths[node][-1] == node: pass that doesn’t seem to do anything meaningful.

Try rewriting the loop as follows:


It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

1 Like

Hi @pkdvalis , noted, thanks. I have been out of the forums for a long time and forgot about this. Thank you!

1 Like