Python - ¿me podrían revisar este código para saber si esta bien o para modificarlo?

 
Vista:
sin imagen de perfil
Val: 105
Ha aumentado su posición en 28 puestos en Python (en relación al último mes)
Gráfica de Python

¿me podrían revisar este código para saber si esta bien o para modificarlo?

Publicado por Ani (21 intervenciones) el 06/07/2021 02:39:51
Hola, me gustaría ver si me podían ayudar, en este ejercicio, tengo el código solo me falta hacer las funciones que no entiendo muy bien como se hace, bueno este es problema:

tengo que hacer un programa, lo primero que se tiene que saber es que son 42 asientos por avión
Donde desde el asiento 31 al 42 se consideran asientos para pasajeros vip.
Los precios de un asiento normal son de $78.900, mientras que los de un asiento vip son de $240.000.

lo segundo hay que hacer un menú con los siguientes datos:
1. Ver asientos disponibles
2. Comprar asiento
3. Anular vuelo
4. Modificar datos de pasajero
5. Salir


El sistema deberá permitir al usuario seleccionar un asiento disponible (mostrando los asientos disponibles) e indicar el valor, una vez que el usuario acepte, deberá solicitar los datos del usuario, en los cuales tenemos nombrePasajero, rutPasajero, telefonoPasajero y bancoPasajero, además.
Ver asientos disponibles: mostrará por pantalla todos los asientos disponibles con su número de asiento y los no disponibles los con una “X”
Comprar asiento: solicita los datos del usuario, luego el usuario escoge un asiento, si es usuario de “banco” el sistema le realiza un 15% de descuento en el total de su pasaje.
Anular Pasaje: Deja el asiento nuevamente disponible y elimina los datos del usuario.
Modificar datos de pasajero: solicita el asiento y Rut (para verificar datos)
luego muestra un submenú en el cual debe escoger que dato va a modificar:
Puede modificar nombrePasajero y telefonoPasajero.
se recomienda crear arreglo multidimensional.


Este es el código que hice, tal cual como se solicita el texto de arriba, lo que necesito es ver si me pueden ayudar en hacer el descuento del asiento vip y también necesito hacer las funciones del código lo cuales no se como identificar o hacer esas funciones y si pueden revisarme el código para ver si esta bien o no? o para modificarlo?
ojala me puedan ayudar, se los agradecería :(

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import numpy as np
from numpy.lib import insert
 
flag = True
 
 
asientos = np.array([[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,"", "","", ""], [26,"", "", "", ""],[27,"", "","", ""],
                    [28,"", "","", ""], [29,"", "", "", ""], [30,"", "","", ""],
                    [31,"", "", "", ""], [32,"", "", "", ""], [33,"", "", "", ""],
                    [34, "", "", "", ""], [35, "", "", "", ""], [36,"", "", "",""],
                    [37, "", "", "",""], [38, "", "", "",""],[39, "", "", "",""],
                    [40, "", "", "",""], [41, "", "", "",""], [42,"", "", "",""]])
 
while flag:
    print("MENU")
    print("1. Ver asientos disponibles")
    print("2. Comprar asiento")
    print("3. Anular vuelo")
    print("4. Modificar datos de pasajero")
    print("5. Salir")
 
    op =int(input("Ingrese una opcion: "))
 
    if op == 1:
        for i in range(42):
            print(asientos[i][0])
 
    if op ==2:
        print("Escoga el asiento que va a comprar: ")
        op2 = int(input("ingrese el numero del asiento: "))
        if op2 >0 and op2 <=42:
            op3 = op2-1
            if asientos[op3][0] != "X":
               print("El asiento se encuentra disponible")
               print("Ingrese sus datos: ")
               print("Rut: ")
               rut = input()
               print("Nombre: ")
               nombre = input()
               print("Numero de Telefono: ")
               tel = input()
               print("Ingrese el banco del cual es cliente: ")
               banco = input()
               descuento = banco.lower()
               asientos[op3][1] = rut
               asientos[op3][2] = nombre
               asientos[op3][3] = tel
               asientos[op3][4] = descuento
               asientos[op3][0] = "X"
 
               if op3 >= 31 and op3 <=42:
                    print ("Usted ha realizado la compra del asiento V.I.P, lo que sera un total de $240.000 ")
                    if descuento == "bancoduoc":
                      print ("Usted tiene un 15% de descuento en el total de su pasaje")
                      print("Muchas gracias por su compra")
                    else:
                        print ("Muchas gracias por su compra")
               else:
                    print ("Usted ha comprado un asiento normal, lo que sera un total de $78.900 ")
                    if descuento == "bancoduoc":
                       print ("Usted tiene un 15% de descuento en el total de su pasaje")
 
            else:
                print("El asinto no esta disponible")
        else:
            print("Por fvor digite un numero que apareza en la lsta de los asentos ")
    elif op == 3:
        print("Ingrese su rut: ")
        rut = input()
        flag = True
        i = 0
        for puesto in asientos:
            if (puesto[1]) == rut:
               print("ha sido anulado su pasaje")
               puesto[0] = i + 1
               puesto[1] = ""
               puesto[2] = ""
               puesto[3] = ""
               puesto[4] = ""
               flag = False
               break
            i+=1
 
        if flag:
            print("rut o asiento no valido, por favor ingrese nuevamente")
 
    elif op == 4:
        print("Ingrese el numero de asiento que corresponde: ")
        asiento = int(input())
        asiento = asiento-1
        print("Ingrese su rut: ")
        rut = input()
 
        for puesto in asientos:
            if (puesto[1]) == rut:
                print("¿que datos quiere modificar?: ")
                print("1. Nombre")
                print("2. Numero de telefono")
                op4 =int(input("Ingrese una opcion: "))
 
                if op4 == 1:
                    print("Ingrese su nombre: ")
                    nombre = input()
                    asientos[asiento][2] = nombre
                    print("Modificacion exitosa")
 
                    break
                elif op4 == 2:
                    print("Ingrese su numero de telefono: ")
                    tel = input()
                    asientos[asiento][3] = tel
                    print("Modificacion exitosa")
                    break
 
 
    elif op == 5:
        flag = False
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

¿me podrían revisar este código para saber si esta bien o para modificarlo?

Publicado por tincopasan (1082 intervenciones) el 06/07/2021 07:53:23
habría que hacer muchas cosas de nuevo y otras eliminarlas, ¿para qué numpy? ese tipo de arreglos mixtos en numpy son ineficaces, para eso lo haces simplemente como una lista de listas. no manejas errores en las conversiones de los input a enteros, si el usuario ingresa una letra dará un error y hay varias cosas repetitivas, y guarda con la ortografía, faltan acentos y hay algunos errores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 105
Ha aumentado su posición en 28 puestos en Python (en relación al último mes)
Gráfica de Python

¿me podrían revisar este código para saber si esta bien o para modificarlo?

Publicado por Ani (21 intervenciones) el 06/07/2021 18:44:26
ha muchas gracias tratare de arreglar eso y en el texto me pide usar arreglo multidimensional y por eso tengo que usar numpy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

¿me podrían revisar este código para saber si esta bien o para modificarlo?

Publicado por tincopasan (1082 intervenciones) el 06/07/2021 19:05:31
guarda con lo de arreglo, muchos le dicen arreglo o matriz sin necesidad de usar numpy, depende del grado de conocimeinto que tengan sobre el lenguaje. o sea matriz = [[1,2,3],[4,5,6]] es considerado por los menos puristas de python como un arreglo, aunque evidentemente es solo una lista multidimensional.es mas lista=[1,2,3,4] otros le dicen vector.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

¿me podrían revisar este código para saber si esta bien o para modificarlo?

Publicado por Rodrigo (2 intervenciones) el 07/07/2021 03:58:43
Y como quedaria ese problema resuelto?
Se ve interesante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar