def dos_transbordes(viaje): lc = [] posibles_transbordes = [] for linea1 in viaje.ls1: l1 = datos.obtener_linea(linea1) for linea2 in viaje.ls2: l2 = datos.obtener_linea(linea2) lc = lineas_comunes(l1, l2) for lineacomun in lc: viaje.time = 0 #Encuentra transborde1 y mide el tiempo entre e1 y transborde1 transb_1 = existe_transborde(linea1, lineacomun) if transb_1 == viaje.e1: continue viaje.time += tiempo.tiempo(viaje.e1, transb_1, l1) viaje.time += tiempo.tiempo_transborde(transb_1) #Encuentra transborde2 y mide el tiempo entre transborde1 y transborde2 transb_2 = existe_transborde(linea2, lineacomun) if transb_2 == transb_1 or transb_2 == viaje.e2: continue viaje.time += tiempo.tiempo(transb_1, transb_2, datos.obtener_linea(lineacomun)) viaje.time += tiempo.tiempo_transborde(transb_2) #Mide el tiempo entre transborde2 y e2 viaje.time += tiempo.tiempo(transb_2, viaje.e2, l2) #Agrega los recorridos a una lista de posibles transbordes viaje.pasos.append([viaje.time, viaje.e1, linea1, transb_1, lineacomun, transb_2, linea2, viaje.e2]) if len(viaje.pasos) >= 1: viaje.time, viaje.pasos = mejores_opciones(viaje.pasos) #Cambia las lineas por las direcciones en el mejor recorrido viaje.pasos = acomodar_opciones(viaje.pasos, 6) return True, viaje return False, viaje
def un_transborde(viaje): for linea2 in viaje.ls2: l2 = datos.obtener_linea(linea2) for linea1 in viaje.ls1: l1 = datos.obtener_linea(linea1) for estacion in l2: if estacion[2] != None and linea1 in estacion[2]: viaje.time = tiempo.tiempo(viaje.e1, estacion[0], datos.obtener_linea(linea1)) viaje.time = viaje.time + tiempo.tiempo(viaje.e2, estacion[0], l2) viaje.time = viaje.time + tiempo.tiempo_transborde(estacion[0]) viaje.pasos.append([viaje.time, viaje.e1, linea1, estacion[0], linea2, viaje.e2]) if len(viaje.pasos) >= 1: viaje.time, viaje.pasos = mejores_opciones(viaje.pasos) viaje.pasos = acomodar_opciones(viaje.pasos, 4) return True, viaje return False, viaje