# 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.

``````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')

``````

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