Implement the Shortest Path Algorithm - Step 20

Tell us what’s happening:

The instructions do not match the criteria to pass the test for this step. Assigning list(range(n)) on the else branch as instructed will fail the 4th test which expects just range(n) to be assigned.

Your code so far

INF = float('inf')
adj_matrix = [
    [0, 5, 3, INF, 11, INF],
    [5, 0, 1, INF, INF, 2],
    [3, 1, 0, 1, 5, INF],
    [INF, INF, 1, 0, 9, 3],
    [11, INF, 5, 9, 0, INF],
    [INF, 2, INF, 3, INF, 0],
]

def shortest_path(matrix, start_node, target_node=None):
    n = len(matrix)
    distances = [INF] * n
    distances[start_node] = 0
    paths = [[node_no] for node_no in range(n)]
    visited = [False] * n

    for _ in range(n):
        min_distance = INF  
        current = -1  
        for node_no in range(n):  
            if not visited[node_no] and distances[node_no] < min_distance:  
                min_distance = distances[node_no]  
                current = node_no  

        if current == -1:  
            break  
        visited[current] = True  

        for node_no in range(n):  
            distance = matrix[current][node_no]  
            if distance != INF and not visited[node_no]:  
                new_distance = distances[current] + distance  
                if new_distance < distances[node_no]:  
                    distances[node_no] = new_distance  
                    paths[node_no] = paths[current] + [node_no]


# User Editable Region

    targets = [target_node] if target_node is not None else list(range(n))

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

Challenge Information:

Implement the Shortest Path Algorithm - Step 20

Thank you for helping make FCC better. Bugs can be reported as GitHub Issues. Whenever reporting a bug, please check first that there isn’t already an issue for it and provide as much detail as possible.

why use list for the else?