Ejemplo n.º 1
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:
            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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
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)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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)
Ejemplo n.º 6
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)