inputs = input('Seleccione una opción para continuar\n>') if int(inputs[0]) == 1: t1_start = process_time() print("\nInicializando....") # cont es el controlador que se usará de acá en adelante cont = controller.init() print('Tiempo de ejecución ', process_time() - t1_start, ' segundos') elif int(inputs[0]) == 2: t1_start = process_time() print("\nCargando información de los accidentes ....") controller.loadData(cont, accidentfile) print('Accidentes cargados: ' + str(controller.accidentsSize(cont))) print('Altura del arbol: ' + str(controller.indexHeight(cont))) print('Elementos en el arbol: ' + str(controller.indexSize(cont))) print('Menor Llave: ' + str(controller.minKey(cont))) print('Mayor Llave: ' + str(controller.maxKey(cont))) print('Tiempo de ejecución ', process_time() - t1_start, ' segundos') elif int(inputs[0]) == 3: t1_start = process_time() print("\nBuscando accidentes en un rango de fechas: ") initialDate = input("Rango Inicial (YYYY-MM-DD): ") finalDate = input("Rango Final (YYYY-MM-DD): ") total = controller.getAccidentsByRange(cont, initialDate, finalDate) print("\nTotal de accidentes en el rango de fechas: " + str(total)) print('Tiempo de ejecución ', process_time() - t1_start, ' segundos') else: sys.exit(0) sys.exit(0)
# cont es el controlador que se usará de acá en adelante cont = controller.init() elif int(inputs[0]) == 2: print("\nCargando información de accidentes ....") controller.loadData(cont, accidentsfile) print('Accidentes cargados: ' + str(controller.accidentsSize(cont))) print('Altura del arbol: ' + str(controller.indexHeight(cont))) print('Elementos en el arbol: ' + str(controller.indexSize(cont))) print('Menor Llave: ' + str(controller.minKey(cont))) print('Mayor Llave: ' + str(controller.maxKey(cont))) elif int(inputs[0]) == 3: print("\nBuscando accidentes en una fecha: ") initialDate = input("Fecha (YYYY-MM-DD): ") lst = controller.getAccidentsByRange(cont, initialDate, initialDate) print("\nTotal de accidentes en el dia: " + str(controller.cont_accidents(lst))) tabla = controller.severities(lst) print(m.get(tabla, "1")) print(m.get(tabla, "2")) print(m.get(tabla, "3")) print(m.get(tabla, "4")) elif int(inputs[0]) == 4: print("\nBuscando accidentes antes de la fecha: ") Date = input("Fecha (YYYY-MM-DD): ") lst = controller.getPastAccidents(cont, Date) most = controller.mostAccInDate(lst) total_acc = lt.size(lst) print("\nTotal de accidentes antes de la fecha: " + str(lt.size(lst))) print("\nFecha con mas accidentes: " + str(most))
cont, Date_0, Date_1) print("\nAccidentes reportados: " + str(total_accidentes_reportados) + ", categoria mas reportada: " + str(categoria_mas_reportada)) elif int(inputs[0]) == 6: print("\nBuscando estado con más accidentes") initialDate = input("Rango Inicial (YYYY-MM-DD): ") finalDate = input("Rango Final (YYYY-MM-DD): ") mdl.prueba(cont, initialDate, finalDate) #controller.estado_mayor(cont, initialDate, finalDate) elif int(inputs[0]) == 7: print("\nBuscando accidentes en un rango de horas") initialDate = input("Rango Inicial (HH:MM):\n") finalDate = input("Rango Final (HH:MM):\n") respuesta = controller.getAccidentsByRange(hours, initialDate, finalDate) print(respuesta) initialDate2 = datetime.datetime.strptime(initialDate, '%Y-%m-%d') finalDate2 = datetime.datetime.strptime(finalDate, '%Y-%m-%d') controller.estado_mayor(cont, initialDate2.date(), finalDate2.date()) elif int(inputs[0]) == 8: print("\nBuscando zona geografica mas accidentada: ") lat = float(input("Ingrese latitud: ")) lon = float(input("Ingrese longitud: ")) radio = float(input("Ingrese radio: ")) resultado = controller.bono(cont, lat, lon, radio) print(resultado) else:
print("\nRequerimiento No 1 del reto 3: ") print("\nBuscando accidentes por severidad en una fecha: ") initialDate = input("Fecha (YYYY-MM-DD): ") severity = input("Severidad del accidente: ") total_accidentes = controller.getAccidentsByRangeSeverity( cont, initialDate, severity) print("\nTotal de accidentes tipo: " + str(severity) + " en esa fecha: " + str(total_accidentes)) elif int(inputs[0]) == 4: print("\nRequerimiento No 2 del reto 3: ") print("\nBuscando accidentes antes de una fecha: ") total = 0 MinDate = str(controller.minKey(cont)) MaxDate = input("Fecha (YYYY-MM-DD): ") total_acci = controller.getAccidentsByRange(cont, MinDate, MaxDate) iterator = it.newIterator(total_acci) while it.hasNext(iterator): ietar = it.next(iterator) total = (ietar["lstaccidents"]["size"]) + total print("\nTotal de accidentes antes de " + str(MaxDate) + " son: " + str(total)) repetido = controller.getMasRepetido(total_acci) print("\nLa fecha con más accidentes es:" + str(repetido[0]) + " con " + str(repetido[1]) + " accidentes") elif int(inputs[0]) == 5: print("\nRequerimiento No 3 del reto 3: ") print("\nBuscando accidentes en un rango de fechas: ") initialDate = input("Rango Inicial (YYYY-MM-DD): ") finalDate = input("Rango Final (YYYY-MM-DD): ") lst = controller.getAccidentsByRange(cont, initialDate, finalDate)
total4 = controller.getAccidentsBySeverity2(cont, initialDate, "4") total3 = controller.getAccidentsBySeverity2(cont, initialDate, "3") total2 = controller.getAccidentsBySeverity2(cont, initialDate, "2") total1 = controller.getAccidentsBySeverity2(cont, initialDate, "1") print("\nTotal de accidentes en la fecha: " + str(total4 + total3 + total2 + total1)) print("\nTotal de accidentes de severidad 4: " + str(total4)) print("\nTotal de accidentes de severidad 3: " + str(total3)) print("\nTotal de accidentes de severidad 2: " + str(total2)) print("\nTotal de accidentes de severidad 1: " + str(total1)) elif int(inputs[0]) == 4: print("\nRequerimiento No 2 del reto 3: ") print("\nBuscando accidentes de una fecha para atrás: ") finalDate = input("Rango Final (YYYY-MM-DD): ") total, most = controller.getAccidentsByRange( cont, str(controller.minKey(cont)), finalDate) print("\nEl total de accidentes de esta fecha para atrás es: " + str(total)) print( "\nLa fecha con un mayor numero de accidentes en este rango de fecha es " + str(most[1] + " con un numero de accidentes igual a : " + str(most[0]))) elif int(inputs[0]) == 5: print("\nBuscando accidentes por severidad en las fechas: ") initialDate = input("Ingresa la Fecha (YYYY-MM-DD): ") finalDate = input("Rango Final (YYYY-MM-DD): ") total4 = controller.getAccidentsBySeverity(cont, initialDate, finalDate, "4") total3 = controller.getAccidentsBySeverity(cont, initialDate, finalDate, "3")