[ Foro de Python ]
Hola gente, soy nuevo y quería saber si me pueden ayudar con este ejercicio, no se como continuarlo o si tiene algún error. Este es el enunciado:
Para facilitar el relevamiento de datos de la ropa de trabajo de una empresa, se le solicita un programa que permita cargar para cada empleado los siguientes datos: Propiedad/Tipo de datos Legajo /int Apellido /string Nombre /string Camisa (talle) /int Pantalón (talle) /int Zapatos de Seguridad /bool El programa a construir deberá permitir: a) Agregar una nueva persona a la lista. b) Quitar una persona. c) Ordenar la lista por legajo d) Ordenar la lista por apellido y nombre.
Ahora les voy a pasar lo que hice hasta ahora
def agregar_menu(lista):
lega = input("Ingrese el Lejajo del Empleado: ")
while (lega!=""):
ape = input("Apellido: ")
nom = input("Nombre: ")
tc = int(input("Camisa(talle): "))
tp = int(input("Pantalon(talle): "))
zap = (input("Posee Zapatos de Seguridad?(si o no): "))
while (zap!=""):
if (zap=="no"):
zap=False
break
elif(zap=="si"):
zap=True
break
else:
print("Valor Incorrecto")
zap = (input("Ingresa si o no: "))
agregar(lista, lega, ape, nom, tc, tp, zap)
res=input("Quieres Agregar otro empleado? (si o no)")
while (res!=""):
if (res=="no"):
break
elif(res=="si"):
break
else:
print("Valor Incorrecto")
res=input("Quieres Agregar otro empleado? (si o no)")
if (res=="no"):
break
lega = input("Ingrese el Lejajo del Empleado: ")
def agregar(lista, lega, ape, nom, tc, tp, zap):
nuevo = {"Legajo" : lega,"Apellido" : ape, "Nombre" : nom, "Camisa" : tc, "Pantalon" : tp, "Zapatos" : zap}
lista.append(nuevo)
empleados = []
agregar_menu(empleados)
for n in empleados:
print("Legajo:",n["Legajo"]," Apellido:",n["Apellido"]," Nombre:",n["Nombre"]," Camisa:",n["Camisa"]," Pantalon:",n["Pantalon"]," Zapatos:", n["Zapatos"])
Si alguien sabe como continuarlo o resolverlo, se lo agradeceria, Muchas gracias!!
hola camilo
en tu código hay varias cosas que mejorar
por ej de lar función agrega llamas a agregar_menu y de agregar_menu a agregar es decir haces un bucle infinito entre las funciones
lo principal que veo es que deberias hacer fuciones más pequeñas con cometidos simples y claros por ej:
- una función para el menú principal que seleccione la opción de usuario
- una función para cada opción del usuario
- si tienes que hacer comprobaciones de datos puedes hacerlo con funciones
- si puedes dividir el código de una función en partes con funciones separadas hazlo
te quedará el código mucho mas limpio y claro, y podrás comprobar facilmente que parte te falla
te paso una posible solución:
https://www.online-ide.com/PhY3dDi9vw
suerte ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)