def main(): while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) elif int(inputs[0]) == 2: verticesNum, edgesNum = controller.countNodesEdges(catalog) print("El grafo tiene: ", verticesNum, " nodos y", edgesNum, " enlaces") elif int(inputs[0]) == 3: vertices = input( "Ingrese el vertice origen y destino. (Ejemplo: 'ALB-5-12 LAX-5-12')\n" ) path = controller.getShortestPath(catalog, vertices) if path == 'No hay camino' or path == 'No existen los vértices': print(path) else: print("El camino de menor costo entre los vertices es:") totalDist = 0 while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) else: sys.exit(0) sys.exit(0)
def main(): datos_cargados = False while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: # 1- Cargar información if not datos_cargados: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) datos_cargados = True else: print("Los datos ya han sido cargados previamente.") elif int(inputs[0]) == 2: # 2- Contar nodos y enlances cargados if datos_cargados: verticesNum, edgesNum = controller.countNodesEdges(catalog) print("El grafo tiene: ", verticesNum, " nodos y", edgesNum, " enlaces") else: print( "No se han cargado los datos previamente. Carguelos e intente de nuevo." ) elif int(inputs[0]) == 3: # 3- Contar componentes conectados if datos_cargados: Num_comp_conectados = controller.ComponentesConectados( catalog['flightGraph']) print("El grafo tiene: ", Num_comp_conectados, " componentes conectados ó Clusters.") else: print( "No se han cargado los datos previamente. Carguelos e intente de nuevo." ) elif int( inputs[0] ) == 4: # 4- Obtener el camino de menor costo entre dos vértices usando Dijkstra (origen destino) if datos_cargados: vertices = input("Ingrese el vertice origen y destino\n") try: path = controller.getShortestPath(catalog, vertices) print("El camino de menor costo entre los vertices es:") totalDist = 0 while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) except: print("No existe un camino entre los dos vértices") else: print( "No se han cargado los datos previamente. Carguelos e intente de nuevo." ) else: sys.exit(0) sys.exit(0)
def main(): while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) t = tree.size(catalog['date_city_trips']) print('Arbol numero de nodos', t) g = controller.countNodesEdgesGraph(catalog) print('Vertices grafo: ', g[0], ' Ejes grafo: ', g[1]) elif int(inputs[0]) == 2: city = input('Ingrese nombre de la ciudad: ') controller.stationsByDockCount(catalog, city) elif int(inputs[0]) == 3: dates = input( 'Ingrese las fechas del intervalo (ej: 8/29/2013 1/1/2014) \n') dat1 = dates.split(" ")[0] dat2 = dates.split(" ")[1] r = controller.trips_per_dates(catalog, dat1, dat2) for city in r: print(city, r[city]) elif int(inputs[0]) == 4: n = input("Ingrese el N : ") f = controller.consulta_temperatures(catalog, n) maximos = f[0] minimos = f[1] print("Los " + n + " con mayor temperatura promedio son :\n") for i in (maximos['elements']): print(i) print("Los " + n + " con menor termperatura promedio son : \n") for j in (minimos['elements']): print(j) elif int(inputs[0]) == 5: vertices = input( "Ingrese el vertice origen y destino. (Ejemplo: '48-2014-2-27 66-2014-2-27')\n" ) path = controller.getShortestPath(catalog, vertices) if path == 'No hay camino' or path == 'No existen los vértices': print(path) else: print("El camino de menor costo entre los vertices es:") totalDist = 0 while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) else: sys.exit(0) sys.exit(0)
def main(): while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) elif int(inputs[0]) == 2: verticesNum, edgesNum = controller.countNodesEdges(catalog) print("El grafo tiene: ", verticesNum, " nodos y", edgesNum, " enlaces") elif int(inputs[0]) == 3: #Requerimento 3 vertices = input("Ingrese el vertice origen y destino\n") path = controller.getShortestPath(catalog, vertices) print("El camino de menor costo entre los vertices es:") totalDist = 0 if path: while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) elif int(inputs[0] == 4): #Requerimento 1 ccs = controller.countCC(catalog) print("El grafo tiene :", ccs, 'componentes conectados') elif int(inputs[0] == 5): #Requerimento 2 vertices = input("Ingrese el vertice origen y destino\n") lst = controller.getPath(catalog, vertices) if lst: print("El camino entre los vertices es:", lst) else: print("No hay camino") elif int(inputs[0] == 6): #Requerimento 4 vertices = input("Ingrese el vertice origen y destino\n") leastPath = controller.getPathLeastEdges(catalog, vertices) if leastPath: print("El camino más corto entre los vértices es: ", leastPath) else: sys.exit(0) sys.exit(0)
def main(): while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) elif int(inputs[0]) == 2: #Requerimento 1 city = input("Ingrese el nombre de la ciudad que desea consultar") controller.mostCapacity(catalog, city, 3) print("para cada estación se indica: ('capacidad', 'id')") elif int(inputs[0]) == 3: #Requerimento 2 dates = input( "Ingrese las fechas a consultar separadas por un espacio: ") trips = controller.tripCityforDates(catalog, dates) print(trips) elif int(inputs[0]) == 4: #Requerimento 3 number = int( input( "Ingrese un número n para obtener los n días con mayor y menor temperatura y sus viajes: " )) tripsTempDate = controller.tripsPerTemperatureDate(catalog, number) print( "Los días con mayor y menor temperatura tienen los siguientes viajes: ", tripsTempDate) elif int(inputs[0]) == 5: #Requerimento 4 vertices = input("Ingrese el vertice origen y destino\n") path = controller.getShortestPath(catalog, vertices) print("El camino de menor costo entre los vertices es:") totalDist = 0 if path: while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) else: sys.exit(0) sys.exit(0)
def main(): while True: printMenu() inputs = input("Seleccione una opción para continuar\n") if int(inputs[0]) == 1: print("Cargando información de los archivos ....") catalog = initCatalog() loadData(catalog) elif int(inputs[0]) == 2: city = input("Digite la ciudad que desea buscar: ") controller.Requerimiento1(catalog, city) elif int(inputs[0]) == 3: date1 = input( "Digite la fecha de inicio que desea buscar (mes/día/año): ") date2 = input( "Digite la fecha de finalización que desea buscar (mes/día/año): " ) print(controller.Requerimiento2(catalog, date1, date2)) elif int(inputs[0]) == 4: n = int(input("Digite el N que desea buscar: ")) print(controller.Requerimiento3(catalog, n)) elif int(inputs[0]) == 5: vertices = input("Ingrese el vertice origen y destino\n") try: path = controller.getShortestPath(catalog, vertices) print("El camino de menor costo entre los vertices es:") totalDist = 0 while not stk.isEmpty(path): step = stk.pop(path) totalDist += step['weight'] print(step['vertexA'] + "-->" + step['vertexB'] + " costo: " + str(step['weight'])) print("Total: " + str(totalDist)) except: print("No existe un camino entre los dos vértices") else: sys.exit(0) sys.exit(0)