Python - Ayuda a crear una clase Estudiante que contenga un Nombre, edad y sexo

 
Vista:

Ayuda a crear una clase Estudiante que contenga un Nombre, edad y sexo

Publicado por Kim (1 intervención) el 03/10/2020 00:15:29
Crear una clase Estudiante que contenga un Nombre, edad y sexo. Hay que crear un método que vaya apilando los datos,
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# pero sólo permita apilar si son de una edad superior a la ingresada y que el sexo sea diferente al ya apilado
#Se va a trabajar un menú, el cual tiene las siguientes opciones:
 
#I. Cantidad: Nos indica la cantidad de estudiantes que estan apilados.
#II. Ingresar: En esta opcion se ingresan los estudiantes, los datos a solicitar son: Nombre, edad y sexo.
#III. Borrar: Elimina el estudiante de la pila.
#IV. Tope: Nos muestra el tope de la pila
#V. Limpiar: Nos limpia el contenido de la pila (borrar todos
#VI. Mostrar: Nos imprime los detalles de todos los estudiantes ingresados, utilizar un formato donde muestre de manera agradable a la vista
# el contenido total.VII. Salir: sale completamente del sistema.
#Datos importantes: recuerden validar si el usuario digita alguna opción inválida.
#Cada opción del menú a excepción de la #7, deben de estar programadas en métodos independientes y toda la estructura en métodos
 
class Estudiante():
 
    def _init_(self):
        self.Nombre=""
        self.__Edad=""
        self.__Sexo=""
 
    def _str_(self):
        return "\n Nombre->    " + str(self.Nombre) + "\n Edad->   " + self.Edad + \
               "\n Sexo-> " + str(self.Sexo)
 
    def set_value(self, data):
        if len(data) == 3:
            self.Nombre = data[0]
            self.Sexo= data[1]
            self.Edad = data[2]
 
 
class Pila():
    def _init_(self):
        self.ListaEstudiantes = []
 
 
 
    def agregar(self, estudiante):
        self.ListaEstudiantes.append(estudiante)
 
    def Cantidad(self):
        if len(self.ListaEstudiantes) > 0:
            print("La cantidad de estudiantes son: ", len(self.ListaEstudiantes))
        else:
            print("\n No se encuentra los estudiantes en la pila :(")
 
    def borrar(self):
        if len(self.ListaEstudiantes) > 0:
            print("\n El estudiante del tope de la pila de eliminar es: \n", self.ListaEstudiantes[-1])
            self.ListaEstudiantes.remove(self.ListaEstudiantes[-1])
            print("\n El  estudiando a sido eliminado")
        else:
            print("\n No se encuentra estudiantes en la pila :(")
 
    def tope(self):
        if len(self.ListaEstudiantes) > 0:
            print("\nEl tope del estudiante es:\n", self.ListaEstudiantes[-1])
        else:
            print("\n No se encuentra estudiantes en la pila :( ")
 
    def print_stack(self):
        for  i in self.ListaEstudiantes:
            print(i)
 
    def limpiar(self):
        if len(self.ListaEstudiantes) > 0:
            self._init_()
            print("\n estudiantes han sido eliminados")
        else:
            print("\n No se encuentra estudiantes en la pila :(")
 
 
opcion = 0
 
 
def menu(opcion):
    while opcion != 7:
 
        pila = Pila()
 
    print("Informacion de los estudiantes: \n")
    print("Invenio\n")
 
    opcion = input(
        "1.- Cantidad "
                "\n2.- Ingresar "
                "\n3.- Borrar "
                "\n4.- Tope "
                "\n5.- Limpiar"
                "\n6.- Mostrar"
                "\n7. - Salir "
                "\n Elige una opcion-> ")
 
    opcion= int(opcion)
    if opcion == 1:
        pila.Cantidad()
    elif opcion == 2:
        print()
 
        bandera = True
        while bandera == True:
            Nombre = input("Ingrese el nombre: ")
            if Nombre.isdigit():
                input("Error, ingrese caracteres validos...")
            else:
                break
        while bandera == True:
            Sexo= input("Ingrese el sexo: ")
            if Sexo.isdigit():
                input("Error, no ingrese unicamente numeros, ingrese caracteres validos...")
            else:
                break
        while bandera == True:
            Edad = input("Ingrese la Edad: ")
            if not Edad.isdigit():
                input("Error, ingrese caracteres validos......")
            else:
                Sexo = int(Edad)
                objEstudiante = Estudiante()
                objEstudiante.set_value([Nombre, Edad, Sexo])
 
                pila.agregar(objEstudiante)
                break
 
    elif opcion == 3:
        pila.borrar()
    elif opcion == 4:
        pila.tope()
    elif opcion == 5:
        pila.limpiar()
        print("\n")
    elif opcion==6:
        pila.print_stack()
    elif opcion==7:
        print("Has salido ")
 
 
input("\n Saliendo, presione una tecla para continuar...")
menu(opcion=0)
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