from Grafos import * grafo = Grafo() c=0 while True: opciones() opcion = int(input('\n Seleccion: ')) if opcion == 1: #Agregar vertices print('\n Cuantos vertices desea agregar?') n = int(input('\n > ')) for i in range(n): print('\n Ingrese dato del vertice N° ', i+1) dato = (input('\n > ')) grafo.agregarVertice(Vertice(dato)) print(f'''\n !El vertice {dato} fue agregado correctamente! ''') c = c+1 elif opcion == 2: #Relaciones if c == 0: print ("\n Primero debe agregar vertices!") else: grafo.printGrafo() print('\n Ingrese la realcion que desea agregar así:') print('\n Primero el vertice y luego su adyacencia') print('\n Ejemplo AB') dato = (input('\n > ')) bordes = [] bordes.append(dato) for borde in bordes: grafo.agregarBorde(borde[:1],borde[1:]) elif opcion == 3: #Mostrar Grafo if c == 0: print ("\n Primero debe agregar vertices!") else: grafo.printGrafo() elif opcion == 4: #Mostrar Matriz Adyacencia if c == 0: print ("\n Primero debe agregar vertices!") else: grafo.printmatriz() elif opcion == 5: #Recorrido DFS if c == 0: print ("\n Primero debe agregar vertices!") else: print('\n Desde que vertice se realizara el recorrido?') dato = (input('\n > ')) print('\n Recorrido DFS:') print('\n' + dato) grafo.dfs(dato) grafo.reiniciarvaldfs(dato) grafo.reiniciarvalbfs(dato) elif opcion == 6: #Recorrido BFS if c == 0: print ("\n Primero debe agregar vertices!") else: print('\n Desde que vertice se realizara el recorrido?') dato = (input('\n > ')) print('\n Recorrido BFS:') grafo.bfs(dato) grafo.reiniciarvalbfs(dato) grafo.reiniciarvaldfs(dato) elif opcion == 7: #salir print(f'''\n !Hasta pronto! ''') exit() elif opcion < 1 or opcion > 7: print(f'\n Opción invalida, intente nuevamente.')