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

Tell us what’s happening:

Describe your issue in detail here.
Hi team, I can’t go beyond this step. Please assist.

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)
    
    while unvisited:
        current = min(unvisited, key=distances.get)

/* User Editable Region */

        for node, distance in graph[current]:
            pass
        if distance + distances[current] < distances[node]:
            pass

/* 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 (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 38
https://www.freecodecamp.org/learn/scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/step-38`Preformatted text`

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

Hello Brice,
Your if statement is correct, but it needs to be in the for loop you created last step.

1 Like