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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Tamaño Lista libros cargados: ' +
                  str(lt.size(catalog['booksList'])))
            print('Tamaño árbol Libros por titulo: ' +
                  str(map.size(catalog['booksTitleTree'])))
            print('Tamaño árbol Libros por año : ' +
                  str(map.size(catalog['yearsTree'])))
            print('Altura árbol por titulo: ' +
                  str(map.height(catalog['booksTitleTree'])))
            print('Altura árbol por año: ' +
                  str(map.height(catalog['yearsTree'])))
        elif int(inputs[0]) == 2:
            title = input("Nombre del titulo a buscar: ")
            book = controller.getBookTree(catalog, title)
            if book:
                print("Libro encontrado:", book['title'],
                      book['average_rating'])
            else:
                print("Libro No encontrado")
        elif int(inputs[0]) == 3:
            title = input("Nombre del titulo a buscar (rank): ")
            rank = controller.rankBookTree(catalog, title)
            print("Hay ", rank, " titulos menores (rank) que " + title)
        elif int(inputs[0]) == 4:
            pos = int(
                input(
                    "Posición del k-esimo titulo del libro (select) a obtener: "
                ))
            book = controller.selectBookTree(catalog, pos)
            if book:
                print("Libro en posición:", pos, ":", book['value']['title'],
                      book['value']['average_rating'])
            else:
                print("Libro no encotrado en posicion: ", pos)
        elif int(inputs[0]) == 5:
            year = input("Ingrese el año a consultar:")
            response = controller.getBookByYearRating(catalog, year)
            if response:
                print(response)
            else:
                print("No se encontraron libros para el año", year)
        elif int(inputs[0]) == 6:
            years = input("Ingrese los años desde y hasta (YYYY YYYY):")
            counter = controller.getBooksCountByYearRange(catalog, years)
            if counter:
                print("Cantidad de libros entre los años", years, ":", counter)
            else:
                print("No se encontraron libros para el rango de años", years)
        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 2
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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Arbol Accidentes cargados: ' +
                  str(map.size(catalog['AccidentsTree'])))
            #print ('Lista libros cargados: ' + str(lt.size(catalog['booksList'])))
            print('Altura arbol: ' + str(map.height(catalog['AccidentsTree'])))

        elif int(inputs[0]) == 2:
            date = input("Fecha del accidente (YYYY-MM-DD): ")
            accident_rank = controller.rankAccidentMap(catalog, date)
            if accident_rank:
                print("Hay ", accident_rank,
                      " accidentes en fechas menores a " + date)
            else:
                print("Fecha fuera de limites: ", accident_rank)
        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 3
0
 def test_orderedData(self):
     """
     """
     tree = omap.newMap()
     tree = omap.put(tree, 'A', 'Title 50', self.comparekeys)
     tree = omap.put(tree, 'C', 'Title 70', self.comparekeys)
     tree = omap.put(tree, 'E', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'H', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'L', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'M', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
     tree = omap.put(tree, 'S', 'Title 30', self.comparekeys)
     tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
     self.assertEqual(omap.size(tree), 10)
     print(tree)
Ejemplo n.º 4
0
    def test_duplicatedData(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'S', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        print("\nRBT datos duplicados")
        self.assertEqual(omap.size(tree), 7)
Ejemplo n.º 5
0
    def test_DisorderedRBT(self):
        """
        """
        tree = omap.newMap()

        tree = omap.put(tree, 'S', 'Title 50', self.comparekeys)
        tree = omap.put(tree, 'E', 'Title 70', self.comparekeys)
        tree = omap.put(tree, 'A', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'R', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'C', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'H', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'X', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'M', 'Title 80', self.comparekeys)
        tree = omap.put(tree, 'P', 'Title 30', self.comparekeys)
        tree = omap.put(tree, 'L', 'Title 30', self.comparekeys)
        print("\nRBT datos aleatorios")
        self.assertEqual(omap.size(tree), 10)
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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Arbol Accidentes cargados: ' +
                  str(map.size(catalog['booksTree'])))
            print('Lista Accidentes cargados: ' +
                  str(lt.size(catalog['booksList'])))
            print('Altura arbol: ' + str(map.height(catalog['booksTree'])))

        elif int(inputs[0]) == 2:
            title = input("")
            book = controller.getBookMap(catalog, title)
            if book:
                print("Accidente encontrado:", book['title'],
                      book['average_rating'])
            else:
                print("Accidente No encontrado")

        elif int(inputs[0]) == 3:  #Requerimento 1
            title = input(
                "Fecha del accidente a buscar: (por favor ingrésela en el formato aa-mm-dd)"
            )
            rank = controller.rankBookMap(catalog, title)
            print("Hay ", rank,
                  " accidentes que sucedieron antes (rank) que " + title)
        elif int(inputs[0]) == 4:
            pos = int(
                input("Posición del k-esimo accidente (select) a obtener: "))
            book = controller.selectBookMap(catalog, pos)
            if book:
                print("Accidente en posición:", pos, ":",
                      book['value']['title'], book['value']['average_rating'])
            else:
                print("Accidente no encotrado en posicion: ", pos)

        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 7
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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Arbol Libros cargados: ' +
                  str(map.size(catalog['booksTree'])))
            print('Lista libros cargados: ' +
                  str(lt.size(catalog['booksList'])))
            print('Altura arbol: ' + str(map.height(catalog['booksTree'])))

        elif int(inputs[0]) == 2:
            title = input("Nombre del titulo a buscar: ")
            book = controller.getBookMap(catalog, title)
            if book:
                print("Libro encontrado:", book['title'],
                      book['average_rating'])
            else:
                print("Libro No encontrado")

        elif int(inputs[0]) == 3:
            title = input("Nombre del titulo a buscar (rank): ")
            rank = controller.rankBookMap(catalog, title)
            print("Hay ", rank, " titulos menores (rank) que " + title)
        elif int(inputs[0]) == 4:
            pos = int(
                input(
                    "Posición del k-esimo titulo del libro (select) a obtener: "
                ))
            book = controller.selectBookMap(catalog, pos)
            if book:
                print("Libro en posición:", pos, ":", book['value']['title'],
                      book['value']['average_rating'])
            else:
                print("Libro no encotrado en posicion: ", pos)

        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 8
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 ....")
            print("Recursion Limit:",sys.getrecursionlimit())
            catalog = initCatalog ()
            loadData (catalog)
            print ('Tamaño árbol accidentes por fecha : ' + str(map.size(catalog['dateTree'])))
            print ('Altura árbol por fecha: ' + str(map.height(catalog['dateTree'])))
            
        elif int(inputs[0])==2:
            title = input("Nombre del titulo a buscar: ")
            book = controller.getBookTree(catalog,title)
            if book:
                print("Libro encontrado:",book['title'],book['average_rating'])
            else:
                print("Libro No encontrado")
        elif int(inputs[0])==3:
            title = input("Nombre del titulo a buscar (rank): ")
            rank = controller.rankBookTree(catalog,title) 
            print("Hay ",rank," titulos menores (rank) que "+title)
        elif int(inputs[0])==4:
            pos = int(input("Posición del k-esimo titulo del libro (select) a obtener: "))
            book = controller.selectBookTree(catalog, pos)
            if book:
                print("Libro en posición:",pos,":",book['value']['title'],book['value']['average_rating'])
            else:
                print("Libro no encotrado en posicion: ",pos)
        elif int(inputs[0])==5:
            date = input("Ingrese la fecha a consultar:")
            response = controller.getAccidentByDateSeverity(catalog, date) 
            if response:
                print(response)
            else:
                print("No se encontraron accidenrtes para el día",date)   
        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 9
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 ....")
            print("Recursion Limit:",sys.getrecursionlimit())
            catalog = initCatalog ()
            loadData (catalog)
            #print ('Tamaño Lista libros cargados: ' + str(lt.size(catalog['booksList'])))
            #print ('Tamaño árbol Libros por titulo: ' + str(map.size(catalog['booksTitleTree'])))
            print ('Tamaño árbol accidentes por fecha : ' + str(map.size(catalog['dateTree'])))
            #print ('Altura árbol por titulo: ' + str(map.height(catalog['booksTitleTree'])))
            print ('Altura árbol por fecha: ' + str(map.height(catalog['dateTree'])))
        elif int(inputs[0])==2:
            dates = input("Ingrese los las fechas desde y hasta (YYYY-MM-DD YYYY-MM-DD):")
            counter = controller.getAccidentsByDateRange(catalog, dates) 
            print("Cantidad de accidentes entre las fechas por ciudad",dates,":\n",counter)

        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 10
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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Tamaño Lista accidentes cargados: ' +
                  str(lt.size(catalog['AccidentList'])))
            print('Tamaño árbol Accidentes por ID: ' +
                  str(tree.size(catalog['AccidentIDTree'])))
            print('Tamaño árbol accidentes por fecha : ' +
                  str(tree.size(catalog['yearsTree'])))
            print('Altura árbol por ID: ' +
                  str(tree.height(catalog['AccidentIDTree'])))
            print('Altura árbol por fecha: ' +
                  str(tree.height(catalog['yearsTree'])))
        elif int(inputs[0]) == 2:
            title = input("Nombre del titulo a buscar: ")
            book = controller.getBookTree(catalog, title)
            if book:
                print("Libro encontrado:", book['title'],
                      book['average_rating'])
            else:
                print("Libro No encontrado")
        elif int(inputs[0]) == 3:
            date = input("Ingrese la fecha en formato anio-mes-dia: ")
            rank = controller.rankBookTree(catalog, date)
            print("Hay ", rank, " accidentes antes de " + date)
        elif int(inputs[0]) == 4:
            fecha = input('ingrese la fehca de la forma %YYYY-%mm-%dd: ')
            estado = controller.getEstate(catalog, fecha)
            if estado:
                print('el estado con mayor cantidad de accidentes en la fecha',
                      fecha, 'es ', str(estado['Estado']), 'con ',
                      str(estado['Accidentes']), 'accidentes.')
            else:
                print("no se encontro estado ")
        elif int(inputs[0]) == 5:
            year = input(
                "Ingrese la fecha a consultar de la forma %YYYY-%mm-%dd::")
            response = controller.getBookByYearRating(catalog, year)
            if response:
                print(response)
            else:
                print("No se encontraron Accidentes para la fecha", year)
        elif int(inputs[0]) == 6:
            years = input(
                "Ingrese los años desde y hasta (%YYYY-%mm-%dd %Y-%m-%dd):")
            counter = controller.getBooksCountByYearRange(catalog, years)
            if counter:
                print("Cantidad de accidentes entre las fechas", years, ":")
                lista = map.valueSet(counter)
                for i in range(1, lt.size(lista)):
                    print(lt.getElement(lista, i))
            else:
                print("No se encontraron accidentes para el rango de fechas",
                      years)
        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 11
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 ....")
            print("Recursion Limit:", sys.getrecursionlimit())
            catalog = initCatalog()
            loadData(catalog)
            print('Tamaño Lista libros cargados: ' +
                  str(lt.size(catalog['booksList'])))
            print('Tamaño árbol Libros por titulo: ' +
                  str(map.size(catalog['booksTitleTree'])))
            print('Tamaño árbol Libros por año : ' +
                  str(map.size(catalog['yearsTree'])))
            print('Altura árbol por titulo: ' +
                  str(map.height(catalog['booksTitleTree'])))
            print('Altura árbol por año: ' +
                  str(map.height(catalog['yearsTree'])))
            print('Arbol Accidentes cargados: ' +
                  str(map.size(catalog['AccidentsTree'])))
            print('Lista Accidentes cargados: ' +
                  str(lt.size(catalog['AccidentsList'])))
            print('Altura arbol: ' + str(map.height(catalog['AccidentsTree'])))

        elif int(inputs[0]) == 2:
            print(
                "Para ingresar la fecha, el formato de la misma debe ser: Año-Mes-Día."
                + "\n" +
                "Por ejemplo, si desea buscar el 2 de Agosto de 2016, la entrada sería: 2016-02-08"
            )
            date = input(
                "Ingrese la fecha para la cual desea buscar las severidades: ")
            res = controller.getSeverityByDate(catalog, date)
            if res:
                print(res)
            else:
                print("No se encontraron accidentes para la fecha ", date)

        elif int(inputs[0]) == 6:
            title = input("Nombre del titulo a buscar: ")
            book = controller.getBookTree(catalog, title)
            if book:
                print("Libro encontrado:", book['title'],
                      book['average_rating'])
            else:
                print("Libro No encontrado")
        elif int(inputs[0]) == 3:
            title = input("Nombre del titulo a buscar (rank): ")
            rank = controller.rankBookTree(catalog, title)
            print("Hay ", rank, " titulos menores (rank) que " + title)
        elif int(inputs[0]) == 4:
            pos = int(
                input(
                    "Posición del k-esimo titulo del libro (select) a obtener: "
                ))
            book = controller.selectBookTree(catalog, pos)
            if book:
                print("Libro en posición:", pos, ":", book['value']['title'],
                      book['value']['average_rating'])
            else:
                print("Libro no encotrado en posicion: ", pos)
        elif int(inputs[0]) == 5:
            year = input("Ingrese el año a consultar:")
            response = controller.getBookByYearRating(catalog, year)
            if response:
                print(response)
            else:
                print("No se encontraron libro para el año", year)
        else:
            sys.exit(0)
    sys.exit(0)
Ejemplo n.º 12
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 ....")
                print("Recursion Limit:",sys.getrecursionlimit())
                catalog = initCatalog ()
                loadData (catalog)
                """
                print ('Arbol Libros cargados: ' + str(map.size(catalog['booksTree'])))
                print ('Lista libros cargados: ' + str(lt.size(catalog['booksList'])))
                print ('Altura arbol: ' + str(map.height(catalog['booksTree'])))
                """
                print ('Arbol Accidentes cargados: ' + str(map.size(catalog['accidentsTree'])))
                print ('Hash Accidentes cargados: ' + str(hashmap.size(catalog['accidentsHash'])))
                print ('Lista Accidentes cargados: ' + str(lt.size(catalog['accidentsList'])))
                print ('Altura arbol: ' + str(map.height(catalog['accidentsTree'])))

                datos_cargados = True
            else:
                print("Los datos ya han sido cargados")
            
        elif int(inputs[0])==2: # 2- Buscar accidente por llave (fecha)
            if datos_cargados:
                fecha = pedir_fecha()
                accidente = controller.getAccidentMap(catalog,fecha)

                if accidente:
                    print("Accidente encontrado:\nID: ", accidente["accident_id"], "\nTiempo de inicio: ", accidente["start_time"], "\nTiempo de finalización: ", accidente["end_time"], "\nSeveridad tipo ", accidente["severity"], "\nLatitud ", accidente["start_lat"], "\nLongitud ", accidente["start_lng"])
                else:
                    print("Accidente No encontrado")
            else:
                print("No ha cargado los datos")    

        elif int(inputs[0])==3: # 3- Consultar cuantos accidentes hubo antes a una fecha - (rank)
            if datos_cargados:
                print("Para consultar tiene que ingresar una fecha")
                fecha = pedir_fecha()
                rank = controller.rankAccidentMap(catalog, fecha)
                print("Ocurrieron ", rank, " accidentes antes (rank) de la fecha ingresada")
            else:
                print("No ha cargado los datos")

        elif int(inputs[0])==4: # 4- Consultar accidente por posición
            if datos_cargados:
                pos = int(input("Posición del k-esimo accidente del mapa (select) a obtener: "))
                accidente = controller.selectAccidentMap(catalog, pos)
                if accidente:
                    print("Accidente en posición:",pos,":\nID: ", accidente["accident_id"], "\nTiempo de inicio: ", accidente["start_time"], "\nTiempo de finalización: ", accidente["end_time"], "\nSeveridad tipo ", accidente["severity"], "\nLatitud : ", accidente["start_lat"], "\nLongitud : ", accidente["start_lng"])
                else:
                    print("Accidente no encotrado en posicion: ",pos)
            else:
                print("No ha cargado los datos")

        elif int(inputs[0])==5: # 5- Consultar total de accidentes ocurridos en una fecha específica. Estos totales se presentarán divididos entre las diferentes severidades de accidente posibles (1 - 4) y se mostrará la ciudad más accidentada por severidad en la fecha dada.
            if datos_cargados:
                print("Para ejecutar esta opción debe proporcionar una fecha (año, mes, día).\nEsta fecha debe estar dentro del rango de años de los datos cargados.\nNo tiene ingresar datos de hora, minuto o segundo ya que no se tendrán en cuenta.")
                anio = int(input("Año del accidente: "))
                mes = int(input("Mes(#) del accidente: "))
                if mes < 10:
                    mes = "0"+str(mes)
                dia = int(input("Día(#) del accidente: "))
                if dia < 10:
                    dia = "0"+str(dia)
                hora = 0
                minuto = 0
                segundo = 0
                fecha = str(anio)+"-"+str(mes)+"-"+str(dia)+str(hora)+":"+str(minuto)+":"+str(segundo)
                fecha = controller.sacarfecha(fecha)
                fecha = int(((fecha-18000)//86400)-16801)
                accidentes_año = map.get(catalog["accidentsByDate"], fecha, controller.greater)
                if accidentes_año == None:
                    print("No hubo accidentes en esa fecha")
                else:
                    print("En la fecha se presentaron ", accidentes_año["size"] , " accidentes.\n")
                    print("SEVERIDAD 1")
                    print("Para la severidad 1 se presentaron ", accidentes_año["data"][1]["size"], " accidentes en la fecha ingresada y la ciudad que más accidentes tuvo de este tipo fue: ", accidentes_año["data"][1]["ciudad_mas_accidentada"])

                    print("SEVERIDAD 2")
                    print("Para la severidad 2 se presentaron ", accidentes_año["data"][2]["size"], " accidentes en la fecha ingresada y la ciudad que más accidentes tuvo de este tipo fue: ", accidentes_año["data"][2]["ciudad_mas_accidentada"])

                    print("SEVERIDAD 3")
                    print("Para la severidad 3 se presentaron ", accidentes_año["data"][3]["size"], " accidentes en la fecha ingresada y la ciudad que más accidentes tuvo de este tipo fue: ", accidentes_año["data"][3]["ciudad_mas_accidentada"])

                    print("SEVERIDAD 4")
                    print("Para la severidad 4 se presentaron ", accidentes_año["data"][4]["size"], " accidentes en la fecha ingresada y la ciudad que más accidentes tuvo de este tipo fue: ", accidentes_año["data"][4]["ciudad_mas_accidentada"])
            else:
                print("No ha cargado los datos")

        elif int(inputs[0])==6: # 6- Consultar total de accidentes ocurridos en un rango de fechas. Estos se mostraran divididos entre las diferentes ciudades.
            if datos_cargados:
                print("Para ejecutar esta opción debe proporcionar un rango de fechas, de modo que debe digitar dos fechas (año, mes, día).\nAl menos una fecha debe estar dentro del rango de años de los datos cargados.\nNo tiene ingresar datos de hora, minuto o segundo ya que no se tendrán en cuenta.")
                print("Digite los datos para la primera fecha:")
                anio = int(input("Año :"))
                mes = int(input("Mes(#) :"))
                if mes < 10:
                    mes = "0"+str(mes)
                dia = int(input("Día(#) :"))
                if dia < 10:
                    dia = "0"+str(dia)
                hora = 0
                minuto = 0
                segundo = 0
                fecha = str(anio)+"-"+str(mes)+"-"+str(dia)+str(hora)+":"+str(minuto)+":"+str(segundo)
                fecha = controller.sacarfecha(fecha)
                fecha1 = int(((fecha-18000)//86400)-16801)
                print("Digite los datos para la segunda fecha:")
                anio = int(input("Año :"))
                mes = int(input("Mes(#) :"))
                if mes < 10:
                    mes = "0"+str(mes)
                dia = int(input("Día(#) :"))
                if dia < 10:
                    dia = "0"+str(dia)
                hora = 0
                minuto = 0
                segundo = 0
                fecha = str(anio)+"-"+str(mes)+"-"+str(dia)+str(hora)+":"+str(minuto)+":"+str(segundo)
                fecha = controller.sacarfecha(fecha)
                fecha2 = int(((fecha-18000)//86400)-16801)
                fecha1 = min(fecha1, fecha2)
                fecha2 = max(fecha1, fecha2)
                if fecha1 > 1460:
                    print("Ninguna de las dos fechas estan dentro del rango de datos")
                else:
                    if fecha2 > 1460:
                        fecha2 = 1460
                info = controller.DaterankAccidentMap(catalog, fecha1, fecha2)
                ciudades = info["ciudades"]
                if info["accidentes_totales"] == 0:
                    print("No hubo accidentes en esa fecha")
                else:
                    print("En el rango de fechas dado sucedieron ", info["accidentes_totales"], "accidentes.")
                    print("A continuación se va a mostrar el número de accidentes por ciudad")
                    for ciudad in ciudades:
                        print(ciudad, " :", ciudades[ciudad])
            else:
                print("No ha cargado los datos")
        elif int(inputs[0])==7: # 7- Consultar el estado con más accidentes en determinada fecha con su cantidad de accidentes.
            if datos_cargados:
                print("Para ejecutar esta opción debe proporcionar una fecha (año, mes, día).\nLa fecha debe estar dentro del rango de años de los datos cargados.\nNo tiene ingresar datos de hora, minuto o segundo ya que no se tendrán en cuenta.")
                print("Digite los datos de la fecha:")
                anio = int(input("Año :"))
                mes = int(input("Mes(#) :"))
                if mes < 10:
                    mes = "0"+str(mes)
                dia = int(input("Día(#) :"))
                if dia < 10:
                    dia = "0"+str(dia)
                hora = 0
                minuto = 0
                segundo = 0
                fecha = str(anio)+"-"+str(mes)+"-"+str(dia)+str(hora)+":"+str(minuto)+":"+str(segundo)
                fecha = controller.sacarfecha(fecha)
                fecha = int(((fecha-18000)//86400)-16801)
                accidentes_año = map.get(catalog["accidentsByDate"], fecha, controller.greater)
                if accidentes_año != None:
                    print("El estado más accidentado en la fecha ingresada es ", accidentes_año["data"]["estado_mas_accidentado"], " con ", accidentes_año["data"]["num_accidentes_estado_mas_accidentado"], " accidentes.")
                else:
                    print("No hubo accidentes en la fecha ingresada")
            else:
                print("No ha cargado los datos")
        else:
            sys.exit(0)
    sys.exit(0)