# Learn Algorithm Design by Building a Shortest Path Algorithm - Step 21

### Tell us what’s happening:

I have already tried out all the suggestions provided in the forum for this step and even the latest suggestion, which is more close to the actual solution, but at last I am getting “You should append each node to unvisited inside your for loop.”

### 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 = []
for my_graph in graph:
unvisited.append('A','B','C','D')

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

### Challenge Information:

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

Create a `for` loop to iterate over your graph

You have a graph called `my_graph` but when you pass it to the function, it will be referred to as `graph`

``````def shortest_path(graph, start):
``````

The graph contains nodes. So, you need to create a `for` loop that iterates over each `node` in `graph`

When it comes time to append a node to `unvisited` you can refer to it as `node`

1 Like

Really, Thanks for the help, @pkdvalis One of my teammates suggested the same solution, and I tried it, and it worked, but your explanation is an add-on to it for me. Once again, thank you so much for explaining it.

1 Like