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

### Tell us what’s happening:

Describe your issue in detail here.
Create a `for` loop to iterate over `targets_to_print` and print the following f-string: `f'\n{start}-{node} distance: {distances[node]}\nPath: {" -> ".join(paths[node])}'` .

I am not able to proceed any further, pls someone tell me what I am doing wrong

``````
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, target = ''):
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)
for node, distance in graph[current]:
if distance + distances[current] < distances[node]:
distances[node] = distance + distances[current]
if paths[node] and paths[node][-1] == node:
paths[node] = paths[current][:]
else:
paths[node].extend(paths[current])
paths[node].append(node)
unvisited.remove(current)

# User Editable Region

targets_to_print = [target] if target else graph for node in paths:
print(f'\n{start}-{node} distance: {distances[node]}\nPath: {" -> ".join(paths[node])}')

shortest_path(my_graph, 'A')

# User Editable Region

``````

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`

### Challenge Information:

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

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.

first click and reset after that.

below this line use `for` loop

``````for index in list:
statement1
.
.
statementn
``````

instead of index use `node` here and list use `targets_to_print`. inside for loop give `print()` function and as per instruction do print.