def ejecutarMejorHorario(database) -> None: area1 = input('Ingrese la Primera Area: ') area2 = input('Ingrese la Segunda Area: ') time1 = input('Ingrese la Primera Hora (HH:MM): ') time2 = input('Ingrese la Segunda Hora (HH:MM): ') trip = Funtions.mejorHorario(database, area1, area2, time1, time2) print( f'\n\tMejor hora de salida: {trip[1]} \n\tTiempo promedio: {trip[0]}')
def ejecutarMvpDia(database): date = input('Ingrese la Fecha (YYYY-MM-DD): ') n = int(input('Ingrese el numero de puestos: ')) wallets = Funtions.mvpDia(database, date, n) i = 1 for wallet in wallets: print(f'\n\t{i}. Puntos: {wallet[1]}: \n\t {wallet[0]}') i += 1
def ejecutarClustersViajes(dataBase) -> None: id1 = int(input('Ingrese la primera id: ')) id2 = int(input('Ingrese la segunda id: ')) analysis = Funtions.ClustersViajes(dataBase, id1, id2) print(f"\n\tSe han encontrado {analysis['clusters']} Clústers") if analysis['conected']: print(f'\n\tlas estaciones {id1} y {id2} estan conectadas') else: print(f'\n\tlas estaciones {id1} y {id2} no estan conectadas')
def ejecutarRutaTuristica(database)->None: lon1 = int(input('Ingrese la longitud del punto de inicio: ')) lat1 = int(input('Ingrese la latitud del punto de inicio: ')) lon2 = int(input('Ingrese la longitud del punto de llegada: ')) lat2 = int(input('Ingrese la latitud del punto de llegada: ')) analysis = Funtions.rutaTuristica(database, lon1, lat1,lon2, lat2) print(analysis)
def ejecutarMvpRango(database): date1 = input('Ingrese la Fecha Inicial (YYYY-MM-DD): ') date2 = input('Ingrese la Fecha Final (YYYY-MM-DD): ') m = int(input('Ingrese el numero de puestos: ')) wallets = Funtions.mvpRango(database, date1, date2, m) i = 1 for wallet in wallets: print(f'\n\t{i}. Puntos: {wallet[1]}: \n\t {wallet[0]}') i += 1
def ejecutarParteA_services(database) -> None: N = int( input( 'Ingrese el número de compañías que quisiera buscar ordenadas por la cantidad de servicios prestados (de mayor a menor): ' )) values = Funtions.parteA_services(database, N) i = 1 for value in values: print(f'\n\t{i}. {value[0]}: \n\t Puntos: {value[1]}') i += 1
def ejecutarIdentificarBicicletas(dataBase): bikeID = int(input('\nID de la bicicleta: ')) date = input("Ingrese la fecha (YYYY-MM-DD): ") analysis = Funtions.IdentificarBicicletas(dataBase,bikeID,date) stations = listiterator.newIterator(analysis['stations']) print(f'\nTiempo de uso: {analysis["useTime"]}') print(f"Timpo estacionada: {analysis['stopTime']}") print('Estaciones Usadas:') while listiterator.hasNext(stations): print('\t',listiterator.next(stations))
def ejecutarEstacionesParaPublicidad(dataBase): Menu.targetMenu() target = int(input('Seleccionado: ')) analysis = Funtions.EstacionesParaPublicidad(dataBase,target) analysis = listiterator.newIterator(analysis) if listiterator.hasNext(analysis): print('\nLas siguientes estaciones cumplen las condiciones:') while listiterator.hasNext(analysis): element = listiterator.next(analysis) print(f"\n\tSalida: {element['vertexA']}") print(f"\tLlegada: {element['vertexB']}") print(f"\tUsuarios: {element['weight']}") else: print('\nNo se encontraron estaciones que cumplan las condiciones')
def ejecutarEstacionesCriticas(dataBase)->None: analysis = Funtions.estacionesCriticas(dataBase) topIn = listiterator.newIterator(analysis[0]) topOut = listiterator.newIterator(analysis[1]) bot = listiterator.newIterator(analysis[2]) print('\n Estaciones de llegada Top') cont = 1 while listiterator.hasNext(topIn): element = listiterator.next(topIn) print(f'\t{cont}. {element["station"]} con: {element["value"]} viajes') cont += 1 print('\n Estaciones de salida Top') cont = 1 while listiterator.hasNext(topOut): element = listiterator.next(topOut) print(f'\t{cont}. {element["station"]} con: {element["value"]} viajes') cont += 1 print('\n Estaciones menos usadas') while listiterator.hasNext(bot): element = listiterator.next(bot) print(f'\t#. {element["station"]} con: {element["value"]} viajes')
def ejecutarRutasCirculares(dataBase)->None: estacioni = input("\nIngrese el ID de la estación inicial: ") print("\nAhora ingrese su tiempo disponible en minutos: ") tiempoi = int(input("\nEntre: ")) tiempof = int(input("\nHasta: ")) Funtions.circularRoutes(dataBase, tiempoi, tiempof, estacioni)