def printAccidentsByDateSeverity(analyzer, date): accidentsInDate = controller.getAccidentsByDate(analyzer, date) accidentsBySeverity = controller.getAccidentsBySeverity(analyzer, date) print("Total de accidentes ocurridos en la fecha:", accidentsInDate) print("\nAccidentes de severidad 1:", accidentsBySeverity[0]) print("Accidentes de severidad 2:", accidentsBySeverity[1]) print("Accidentes de severidad 3:", accidentsBySeverity[2])
print("\nCargando información de accidentes....") t1_start = process_time() controller.loadData(cont, accidentsfile) t1_stop = process_time() print('\nAccidentes 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))) time = t1_stop - t1_start print("\nTiempo de ejecución: " + str(time)) elif int(inputs[0]) == 3: initialDate = input("\nIngrese la fecha (YYYY-MM-DD): ") t1_start = process_time() severityTuple = controller.getAccidentsBySeverity(cont, initialDate) t1_stop = process_time() if severityTuple == "fecha": print( '\nPor favor ingrese una fecha que se encuentre en el archivo.' ) elif severityTuple == "formato": print("\nPor favor ingrese un formato de fecha válido.") else: print("\nBuscando accidentes de " + initialDate + "....") print("\nEn " + initialDate + " ocurrieron " + str(severityTuple[0]) + " accidentes." + " Sus severidades fueron: \n\nSeveridad 1: " + str(severityTuple[1]) + "\nSeveridad 2: " + str(severityTuple[2]) + "\nSeveridad 3: " + str(severityTuple[3]) + "\nSeveridad 4: " +
cont = controller.init() elif int(inputs[0]) == 2: print("\nCargando información de accidentes....") controller.loadData(cont, accidentsfileSmall) print('\nAccidentes 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: initialDate = input("\nIngrese la fecha (YYYY-MM-DD): ") print("\nBuscando accidentes de " + initialDate + "....") severity1 = int( controller.getAccidentsBySeverity(cont, initialDate, '1')) severity2 = int( controller.getAccidentsBySeverity(cont, initialDate, '2')) severity3 = int( controller.getAccidentsBySeverity(cont, initialDate, '3')) severity4 = int( controller.getAccidentsBySeverity(cont, initialDate, '4')) severities = severity1 + severity2 + severity3 + severity4 print("\nEn " + initialDate + " ocurrieron " + str(severities) + " accidentes." + " Sus severidades fueron: \n\nSeveridad 1: " + str(severity1) + "\nSeveridad 2: " + str(severity2) + "\nSeveridad 3: " + str(severity3) + "\nSeveridad 4: " + str(severity4)) elif int(inputs[0]) == 4: print("\nConociendo los accidentes anteriores a una fecha ")
elif int(inputs[0]) == 2: print("\nCargando información de crimenes y ofensas....") controller.loadData(cont, accidentsFile) print('Crimenes 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: #REQUERIMIENTO 1 print("\nBuscando crimenes en una fecha: ") t1_start = process_time() Date = input("Fecha a buscar (YYYY-MM-DD): ") lst = controller.getAccidentsBySeverity(cont, Date) print("\nTotal de llaves en la fecha " + str(lt.size(lst))) t1_stop = process_time() #tiempo final print("Tiempo de ejecución ", t1_stop - t1_start, " segundos") elif int(inputs[0]) == 5: #REQUERIMIENTO 3 initialDate = input("Rango Inicial (YYYY-MM-DD): ") finalDate = input("Rango final (YYYY-MM-DD): ") resp = controller.getAccidentsByRangeSeverity(cont, initialDate, finalDate) print(resp) else: sys.exit(0) sys.exit(0)
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") total2 = controller.getAccidentsBySeverity(cont, initialDate, finalDate, "2") total1 = controller.getAccidentsBySeverity(cont, initialDate, finalDate, "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]) == 6: print("\nRequerimiento No 4 del reto 3: ") initialDate = input("Rango Inicial (YYYY-MM-DD): ")
initialDate = input( "Escriba la fecha inicial en formato (AAAA-MM-DD): ") finalDate = input("Escriba la fecha final en formato (AAAA-MM-DD): ") accidents = controller.getAccidentsByState(cont, initialDate, finalDate) print("Es estado con mayor numero de accidentes entre {} y {} es {}". format(initialDate, finalDate, accidents[1])) print("La fecha con mayor numero de accidentes entre {} y {} es {}". format(initialDate, finalDate, accidents[0])) elif int(inputs[0]) == 7: print("\nBuscando accidentes en un rango de Horas: ") initialDate = input("Escriba la fecha inicial en formato (HH:MM): ") finalDate = input("Escriba la fecha final en formato (HH:MM): ") accidents = controller.getAccidentsByTime(cont, initialDate, finalDate) grado1 = controller.getAccidentsBySeverity(accidents, "1") grado2 = controller.getAccidentsBySeverity(accidents, "2") grado3 = controller.getAccidentsBySeverity(accidents, "3") grado4 = controller.getAccidentsBySeverity(accidents, "4") print("\nAccidentes de Primer Grado") print(grado1) print("Accidentes de Segundo Grado") print(grado2) print("Accidentes de Tercer Grado") print(grado3) print("Accidentes de Cuarto Grado") print(grado4) print( "El promedio de accidentes ocurridos entre las {} y las {} es de {}{}" .format( initialDate, finalDate,