def optionFour(cont): msg = "País base: " country = input(msg) countries = cont['countries'] initialLPoint = me.getValue(m.get(countries, country))['CapitalName'] controller.minimumCostPaths(cont, initialLPoint) return country
elif int(inputs[0]) == 3: # Req 2 verticeMasArcosReq2 = printReq2( analyzer, controller.req2(analyzer)) # Lista ordenada elif int(inputs[0]) == 4: # Req 3 paisA = input( "\nIngrese el nombre del primer país que desea consultar. Ejemplo: Colombia\n~ " ) paisB = input( "\nIngrese el nombre del segundo país que desea consultar. Ejemplo: Indonesia\n~ " ) controller.minimumCostPaths(analyzer, paisA) pathReq3 = printReq3(analyzer, paisB) elif int(inputs[0]) == 5: # Req 4 resultados = controller.req4(analyzer) distanciaMax = controller.bfsReq4(analyzer) print( f"\nNúmero de nodos conectados en la red de expansión mínima: {resultados[0]}\n" ) print(f"Distancia de la red de expansión mínima: {resultados[1]} km\n") print( "\nLa rama más larga que hace parte de la red de expansión mínima desde 'Bogotá-Colombia' tiene una longitud de {0} y corresponde al landing point: {1}" .format(distanciaMax[0]['distTo'], distanciaMax[0]['edgeTo']))
plotStronglyConnectedComponentsMap(analyzer, vertexa, vertexb, landingpointnamea, landingpointnameb) elif int(inputs[0]) == 4: print() printMostConnectedLandingPoint(analyzer) plotMostConnectedLandingPointMap(analyzer) elif int(inputs[0]) == 5: print() countrya = str(input("Ingrese país: ")) countryb = str(input("Ingrese país: ")) vertexa = controller.getCapitalVertexByCountry(analyzer, countrya) vertexb = controller.getCapitalVertexByCountry(analyzer, countryb) controller.minimumCostPaths(analyzer, vertexa) printMinimumCostPath(analyzer, vertexb) plotMinimumCostPathMap(analyzer, vertexa, vertexb) elif int(inputs[0]) == 6: controller.minimumSpanningTrees(analyzer) minspanningtree = controller.minimumSpanningTree(analyzer) print("\n---------- Red de expansión mínima ----------") print("Total nodos conectados: " + str(minspanningtree[0])) print("Costo total: " + str(minspanningtree[1]) + " km\n") printLongestConnection(analyzer) printShortestConnection(analyzer) plotMinimumSpanningTreeConnections(analyzer) elif int(inputs[0]) == 7: print()
print('Los landing points con mas conexiones son:') else: print('El landing point con mas conexiones es:') for i in result[0]: values = m.get(cont['landingPoints'], i) print('El landing point con mas conexiones fue', controller.landingPointName(cont, values['key']), 'con', values['value']['size'], 'conexiones.') elif int(inputs[0]) == 4: countryA = input("Nombre del pais A: ") countryB = input("Nombre del pais B: ") lps = controller.getCapitalLps(cont, countryA, countryB) controller.minimumCostPaths(cont, lps[0]) path = controller.minimumCostPath(cont, lps[1]) if path is not None: pathlen = stack.size(path) pesototal = 0 print('El camino pasa por', str(pathlen), 'rutas') while (not stack.isEmpty(path)): stop = stack.pop(path) pesototal += stop['weight'] print(stop) print('La distancia total de la ruta fue de aprox', round(pesototal, 2), 'km') else: print('No hay camino')
def thread_cycle(): while True: printMenu() inputs = input('Seleccione una opción para continuar\n') if int(inputs[0]) == 1: print("Cargando información de los archivos ....") cont = controller.init() elif int(inputs[0]) == 2: print("\nInicializando....") controller.loadServices(cont) rta = controller.sacar_info(cont) print("***************") print (str("-El total de landing points es: " + str(rta[0]))) print (str("-El total de conexiones entre landing points es: " + str(rta[1]))) print (str("-El total de países es:" + str(rta[2]))) print(str("-La información del primer landing point es: ")) print(str(" ") + str(rta[3])) print (str("-La población del último país cargado es: " + str(rta[4]))) print (str("-El número usuarios de Internet del último país cargado es: " + str(rta[5]))) print("***************") elif int(inputs[0]) == 3: #req 1 landing_1= input("Nombre del landing point 1 (Ejem. Redondo Beach- 4992):") landing_2= input("Nombre del landing point 2 (Ejem. Vung Tau-6013):") clusteres = controller.connectedComponents(cont) landing_pints = controller.estan_closter(cont,landing_1,landing_2) print("-------------------------------------------------------") print("") print("Número total de clústeres presentes en la red: " + str(clusteres)) if landing_pints: print("Los dos landing points están en el mismo clúster") else: print(" los dos landing points NO están en el mismo clúster") elif int(inputs[0]) == 4: #req 2 rta=controller.servedRoutes(cont) print("-------------------------------------------------------") print("lista de landing points: ") iterador_1 =it.newIterator(rta[1]) iterador_2 =it.newIterator(rta[2]) while it.hasNext(iterador_1) and it.hasNext(iterador_2): nombre = it.next(iterador_1) id = it.next(iterador_2) print("") print("Nombre y pais del landing point: " + str(nombre)) print("ID del landing point: " + str(id)) print("") print("") print("El total de cables conectados a dichos landiing points son:" + str(rta[0])) elif int(inputs[0]) == 5: #req 3 Pais_1 = " " + input("Primer país (Eje. Colombia) : ") Pais_2 = " " + input("Segundo país (Eje. Indonesia) : ") controller.minimumCostPaths(cont, Pais_1) camino = controller.camino(cont,Pais_2) iterador = it.newIterator(camino) print("-------------------------------------------------------") print("Camino del primer pais al segundo pais:") while it.hasNext(iterador): elemento = it.next(iterador) print(elemento) distancia = controller.distancia_total(cont,Pais_2) print("") print("") print("La distancia total entre los dos landing points es:") print(distancia) elif int(inputs[0]) == 6: #req 4 rta=controller.infraestructura_critica(cont) print("-------------------------------------------------------") print("") print("El número de nodos conectados a la red de expansión mínima es: " + str(rta[0])) print("El costo total (distancia en [km]) de la red de expansión mínima es: " + str(rta[1]) + " Km") print("La rama más larga es " + str(rta[2]) + " con una longitud de " + str(rta[3]) + " km") print("") elif int(inputs[0]) == 7: #req 5 landing = input("Nombre del landing point (Ejem. Fortaleza):") rta=controller.inpacto_landing(cont, landing) print("-------------------------------------------------------") print("") print("EL número de paises es: " + str(rta[0])) print("Los paises son: ") print("") iterador = it.newIterator(rta[1]) while it.hasNext(iterador): Pais = str(it.next(iterador)) print(Pais) print("") elif int(inputs[0]) == 8: #req 6 pais = input("Nombre del país (Ejem. Cuba): ") cable = input("Nombre del cable (Ejem. ALBA-1): ") rta =controller.ancho_de_banda(cont, pais, cable) iterador = it.newIterator(rta[0]) iterador_2 = it.newIterator(rta[1]) print("-------------------------------------------------------") while it.hasNext(iterador) and it.hasNext(iterador_2): nombre = it.next(iterador) ancho_banda = it.next(iterador_2) print("") print("Nombre del Pais Conectado: " + str(nombre)) print("Ancho de banda: " + str(ancho_banda) + " 𝑀𝑏𝑝s") print("") elif int(inputs[0]) == 9: #req 7 ruta_1 = input("Ingrese la Dirección IP1 (Ejem. 165.132.67.89 ): ") ruta_2 = input("Ingrese la Dirección IP2 (Ejem. 8.8.8.8): ") rta =controller.saltos_minimos(cont, ruta_1, ruta_2) print("-------------------------------------------------------") print(rta) else: sys.exit(0) sys.exit(0)