示例#1
0
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
示例#2
0
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