Python - lista de vuelos. ayuda

 
Vista:

lista de vuelos. ayuda

Publicado por ivan (26 intervenciones) el 09/06/2023 16:13:13
#Hola , tengo este ejercicio. Hice ese codigo ... el problema es que no me retorna todos los vuelos que cumplen #con los requisitos... solo me retorna el primero que encuentra.... y para el ejemplo que pongo deberia retornar
las listas santiago a puerto montt que tienen 5 o mas asientos disponibles ya que es el numero de pasajeros que estoy pidiendo.... no se si se entiende. Gracias.



def vuelos_disponibles(vuelos, origen, destino, pasajeros):

resultado = []

for i in range(1,len(vuelos)):
origen== vuelos[i][0]
destino== vuelos[i][1]
pasajeros <= vuelos[i][3]
resultado.append(vuelos[0])
resultado.append(vuelos[i])
return resultado



vuelos = [ ['Origen', 'Destino', 'precio', 'asientos disponibles', 'Fecha'],
['Santiago', 'Puerto Montt', 35000, 30, '11 Enero 2023'],
['Santiago', 'Concepción', 30000, 40, '20 Febrero 2023'],
['Santiago', 'Puerto Montt', 28000, 2, '19 Enero 2023'],
['Santiago', 'Puerto Montt', 12000, 100, '20 Mayo 2023'],
['Antofagasta', 'Santiago', 27000, 14, '18 Abril 2023' ]
]
origen = 'Santiago'
destino = 'Puerto Montt'
pasajeros = 5
print(vuelos_disponibles(vuelos, origen, destino, pasajeros))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

lista de vuelos. ayuda

Publicado por antonio (65 intervenciones) el 09/06/2023 20:15:39
Hola buenas debe ser alguna tabulación que no esta bien puesta porque si devuelve más de uno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def vuelos_disponibles(vuelos, origen, destino, pasajeros):
 
    resultado = []
 
    for i in range(1,len(vuelos)):
        origen== vuelos[i][0]
        destino== vuelos[i][1]
        pasajeros <= vuelos[i][3]
        resultado.append(vuelos[0])
        resultado.append(vuelos[i])
    return resultado
 
 
 
vuelos = [ ['Origen', 'Destino', 'precio', 'asientos disponibles', 'Fecha'],
['Santiago', 'Puerto Montt', 35000, 30, '11 Enero 2023'],
['Santiago', 'Concepción', 30000, 40, '20 Febrero 2023'],
['Santiago', 'Puerto Montt', 28000, 2, '19 Enero 2023'],
['Santiago', 'Puerto Montt', 12000, 100, '20 Mayo 2023'],
['Antofagasta', 'Santiago', 27000, 14, '18 Abril 2023' ]
]
origen = 'Santiago'
destino = 'Puerto Montt'
pasajeros = 5
print(vuelos_disponibles(vuelos, origen, destino, pasajeros))

Captura2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

lista de vuelos. ayuda

Publicado por ivan (26 intervenciones) el 09/06/2023 20:49:25
Hola ...si ... tenia mal el return .... ahi lo acomode ..pero tengo el problema que comentaba antes ....retorna
[['Origen', 'Destino', 'precio', 'asientos disponibles', 'Fecha'], ['Santiago', 'Puerto Montt', 35000, 30, '11 Enero 2023']]

y tendria que retornarme otra lista mas que tienen santiago puerto montt 100 asientos disponibles



def vuelos_disponibles(vuelos, origen, destino, pasajeros):

resultado = []

for i in range(1,len(vuelos)):
origen== vuelos[i][0]
destino== vuelos[i][1]
pasajeros <= vuelos[i][3]
resultado.append(vuelos[0])
resultado.append(vuelos[i])
return resultado



vuelos = [ ['Origen', 'Destino', 'precio', 'asientos disponibles', 'Fecha'],
['Santiago', 'Puerto Montt', 35000, 30, '11 Enero 2023'],
['Santiago', 'Concepción', 30000, 40, '20 Febrero 2023'],
['Santiago', 'Puerto Montt', 28000, 2, '19 Enero 2023'],
['Santiago', 'Puerto Montt', 12000, 100, '20 Mayo 2023'],
['Antofagasta', 'Santiago', 27000, 14, '18 Abril 2023' ]
]
origen = 'Santiago'
destino = 'Puerto Montt'
pasajeros = 5
print(vuelos_disponibles(vuelos, origen, destino, pasajeros))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

lista de vuelos. ayuda

Publicado por antonio (65 intervenciones) el 09/06/2023 21:20:24
Hola buenas no entendí tu pregunta si tu duda es que tiene que coger solo los que sean de origen y destino este seria el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def vuelos_disponibles(vuelos, origen, destino, pasajeros):
 
    resultado = []
 
    for i in range(1,len(vuelos)):
 
        if origen == vuelos[i][0] and destino == vuelos[i][1]:
            resultado.append(vuelos[0])
            resultado.append(vuelos[i])
    return resultado
 
 
 
vuelos = [ ['Origen', 'Destino', 'precio', 'asientos disponibles', 'Fecha'],
['Santiago', 'Puerto Montt', 35000, 30, '11 Enero 2023'],
['Santiago', 'Concepción', 30000, 40, '20 Febrero 2023'],
['Santiago', 'Puerto Montt', 28000, 2, '19 Enero 2023'],
['Santiago', 'Puerto Montt', 12000, 100, '20 Mayo 2023'],
['Antofagasta', 'Santiago', 27000, 14, '18 Abril 2023' ]
]
origen = 'Santiago'
destino = 'Puerto Montt'
pasajeros = 5
print(vuelos_disponibles(vuelos, origen, destino, pasajeros))

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

lista de vuelos. ayuda

Publicado por ivan (26 intervenciones) el 09/06/2023 22:48:27
def vuelos_disponibles(vuelos, origen, destino, pasajeros):

resultado = []
resultado.append(vuelos[0])
for i in range(1,len(vuelos)):
if origen== vuelos[i][0]:
if destino== vuelos[i][1]:
if pasajeros <= vuelos[i][3]:
resultado.append(vuelos[i])

return resultado


#Hola . Gracias por escribir. finalmente ahi logre resolverlo ... era un tema de orden de el return y de el resultado.append(vuelos[0]
gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar