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

Tell us what’s happening:

I have tried indenting in every way possible and its still not passing.
You should use the remove() function to remove the current node after 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)]
}

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)

# 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:
                    paths[node] = paths[current]
                else:
                    paths[node].extend(paths[current])
                    paths[node].append(node)
                    unvisited.remove(paths[current])

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

Challenge Information:

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

Welcome to the forum @ant_34

  1. Terminate the while loop by removing the current node from the unvisited list. ✗

The syntax is not right. Carefully read the instruction as to what you are removing.

  1. Pay attention to the indentation. ✗

After correcting the syntax, change the indentation.
Hint: it should not be part of the else statement.

Happy coding

I still dont understand why its wrong.

Please post your updated code.

Do you have a more specific question? That would help to explain.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.