Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ListaPersonas():
- lista_personas = []
- def insertar(self, nombre, edad, sexo):
- self.lista_personas.append([nombre, edad, sexo])
- def obtener_personas(self):
- return self.lista_personas
- def obtener_edades(self):
- lista_edades = []
- for persona in self.lista_personas:
- lista_edades.append(persona[1])
- return lista_edades
- def obtener_nombres(self):
- lista_nombres = []
- for persona in self.lista_personas:
- lista_nombres.append(persona[0])
- return lista_nombres
- def obtener_sexos(self):
- lista_sexos = []
- for persona in self.lista_personas:
- lista_sexos.append(persona[2])
- return lista_sexos
- class Persona():
- persona = ListaPersonas()
- def insertar_persona(self, nombre, edad, sexo):
- self.persona.insertar(nombre, edad, sexo)
- def mostrar_nombres_mayores(self):
- personas = self.persona.obtener_personas()
- if personas:
- for persona in personas:
- if persona[1] >= 18:
- print("Nombre completo: " + persona[0])
- else:
- print("No hay personas en la lista")
- def mostrar_mujeres_mayores(self):
- personas = self.persona.obtener_personas()
- count_mujeres = 0
- if personas:
- for persona in personas:
- if persona[1] >= 18 and persona[2] == "F":
- print("Nombre completo: " + persona[0])
- count_mujeres += 1
- else:
- print("No hay personas en la lista")
- if count_mujeres == 0:
- print("No hay mujeres mayores de edad")
- def mostrar_edad_promedio(self):
- edades = self.persona.obtener_edades()
- total_edades = 0
- for edad in edades:
- total_edades = total_edades + edad
- print("Promedio de edades de las personas: " + str((total_edades / len(edades))))
- def proporcion_hombres_mujeres(self):
- sexos = self.persona.obtener_sexos()
- hombres = 0
- mujeres = 0
- for sexo in sexos:
- if sexo == "M":
- hombres = hombres + 1
- else:
- mujeres = mujeres + 1
- print("La cantidad de hombres es: " + str(hombres) + " y la cantidad de mujeres es: " + str(mujeres))
- menu_band = True
- while menu_band:
- print("Bievenido al registro de personas, ingrese el numero de la opción de menús a continuación para continuar:")
- print("1 - Registrar personas en el sistema")
- print("2 - Mostrar el nombre de las personas mayores de edad")
- print("3 - Mostrar el nombre de las mujeres mayores de edad")
- print("4 - Mostrar la edad promedio de todas las personas")
- print("5 - Mostrar la proporción de hombres y mujeres")
- print("6 - Si desea salir escoja esta opción")
- opt = int(input("Escoja una de las opciones anteriores: "))
- instancia_persona = Persona()
- if opt == 1:
- persona_band = True
- while persona_band:
- nombre = input("Inserte el nombre completo: ")
- edad = int(input("Inserte la edad: "))
- sexo = input('Inserte el sexo, debe ser "M" para masculino y "F" para femenino: ')
- instancia_persona.insertar_persona(nombre, edad, sexo)
- opt_persona = input('Desea agregar otra persona?: escriba "s" para sí y "n" para no: ')
- if opt_persona == "s":
- persona_band = True
- elif opt_persona == "n":
- persona_band = False
- elif opt == 2:
- instancia_persona.mostrar_nombres_mayores()
- opt_2 = input('Desea realizar otra acción?: escriba "s" para sí y "n" para no: ')
- if opt_2 == "s":
- menu_band = True
- elif opt_2 == "n":
- menu_band == False
- elif opt == 3:
- instancia_persona.mostrar_mujeres_mayores()
- opt_3 = input('Desea realizar otra acción?: escriba "s" para sí y "n" para no: ')
- if opt_3 == "s":
- menu_band = True
- elif opt_3 == "n":
- menu_band == False
- elif opt == 4:
- instancia_persona.mostrar_edad_promedio()
- opt_4 = input('Desea realizar otra acción?: escriba "s" para sí y "n" para no: ')
- if opt_4 == "s":
- menu_band = True
- elif opt_4 == "n":
- menu_band == False
- elif opt == 5:
- instancia_persona.proporcion_hombres_mujeres()
- opt_5 = input('Desea realizar otra acción?: escriba "s" para sí y "n" para no: ')
- if opt_5 == "s":
- menu_band = True
- elif opt_5 == "n":
- menu_band == False
- elif opt == 6:
- print("Muchas gracias por utilizar el sistema!")
- menu_band = False
- else:
- print("Debe escoger alguna de las opciones anteriores")
Add Comment
Please, Sign In to add comment