Buenos días, tengo un problema de key error al realizar una Busqueda en anchura en grafos, pues me da un keyerror, os agradecería si me piudierais ayudar, gracias.
Error:
Lista de recorrido en anchura
Vertice actual -> 2
Vertice actual -> 1
Traceback (most recent call last):
File "c:/Users/K/OneDrive/Escritorio/Ejercicios/Banchura.py", line 50, in <module>
for key, lista in grafo[actual]:
Keyerror: 1
- import os
-
- grafo = {'2': [(1, 10), (3, 7)],
- '1': [(2, 10), (3, 15), (6, 5)],
- '3': [(1, 15), (2, 7), (4, 7), (6, 10)],
- '6': [(1, 5), (3, 10), (4, 5), (5, 13)],
- '4': [(3, 7), (5, 7), (6, 5)],
- '5': [(4, 7), (6, 13)]
- }
-
- #MUESTRA EL GRAFO ANTES DEL RECORRIDO
- print("Muestra el grafo antes del recorrido: \n")
- for key, lista in grafo.items():
- print(key)
- print(lista)
-
- print()
- os.system("pause")
-
- visitados = []
- cola = []
-
- origen = input("Ingresa el nodo origen: ")
- print("\nLista de recorrido en anchura\n")
- #Paso 1: SE COLOCA EL VÉRTICE ORIGEN EN UNA COLA
- cola.append(origen)
- #Paso 2: MIENTRAS LA COLA NO ESTE VACÍA
- while cola:
- #paso 3: DESENCOLAR UN VÉRTICE, ESTE SERÁ AHORA EL VÉRTICE ACTUAL
- actual = cola.pop(0)
-
- #paso 4: SI EL VÉRTICE ACTUAL NO HA SIDO VISITADO
- if actual not in visitados:
- #paso 5: PROCESAR (IMPRIMIR) EL VÉRTICE ACTUAL
- print("Vertice actual -> ", actual)
- #paso 6: COLOCAR VÉRTICE ACTUAL EN LA LISTA DE VISITADOS
- visitados.append(actual)
- #paso 7: PARA CADA VÉRTICE QUE EL VÉRTICE ACTUAL TIENE COMO DESTINO,
- # Y QUE NO HA SIDO VISITADO:
- # ENCOLAR EL VERTICE
- for key, lista in grafo[actual]:
- if key not in visitados:
- cola.append(key)
-
- print()
- os.system("pause")
Error:
Lista de recorrido en anchura
Vertice actual -> 2
Vertice actual -> 1
Traceback (most recent call last):
File "c:/Users/K/OneDrive/Escritorio/Ejercicios/Banchura.py", line 50, in <module>
for key, lista in grafo[actual]:
Keyerror: 1