Last active
February 8, 2019 15:33
-
-
Save variux/720b632bf2f40a76200e42537922da6c to your computer and use it in GitHub Desktop.
Personas [Codigo hecho para Luis Rubi]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment