0% encontró este documento útil (0 votos)
26 vistas4 páginas

Clase 10 - Python

El documento describe un conjunto de funciones en Python para gestionar información de alumnos y empleados. Incluye funcionalidades para procesar datos, imprimir información, validar contraseñas y generar reportes sobre empleados en una empresa. Además, se implementa un menú interactivo para facilitar la interacción del usuario con las funciones disponibles.

Cargado por

polosilvaselene
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas4 páginas

Clase 10 - Python

El documento describe un conjunto de funciones en Python para gestionar información de alumnos y empleados. Incluye funcionalidades para procesar datos, imprimir información, validar contraseñas y generar reportes sobre empleados en una empresa. Además, se implementa un menú interactivo para facilitar la interacción del usuario con las funciones disponibles.

Cargado por

polosilvaselene
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejercicio 3:

Implemente los siguientes puntos:


a) Realice una función que procesa la información de alumnos de la UNAJ. De cada
alumno se conoce legajo, nombre, apellido, contraseña. El procesamiento termina
cuando se ingresa el número de legajo 0. La función deberá retornar una lista con
la información procesada.
b) Realice una función llamada imprimir_alumno que recibe como parámetro una lista
con los datos de un alumno (Legajo, nombre, apellido, contraseña), los datos del
alumno serán mostrados por pantalla con la forma:
Legajo:XXXX
Nombre:XXXX
Apellido:XXXX
Contraseña:XXXXX
c) Realice un función llamada legajo_menor que recibe como parámetro una lista de
alumnos, de cada alumno se conoce la información (legajo, nombre, apellido,
contraseña), la función debe buscar cuál es el alumno con el menor legajo dentro
de la lista y retornarlo.
d) Realice un función llamada nombre_mas_largo que recibe como parámetro una
lista de alumnos. La función debe buscar cuál es el alumno con el nombre más
largo dentro de la lista y retornarlo.
e) Realice un función llamada controlar_clave que recibe como parámetro un
alumno,(legajo, nombre, apellido, contraseña). La función debe controlar si la contraseña es
mayor a 6 caracteres y termina con un número, deberá imprimir un mensaje especificando
el error cometido en caso de no cumplir las condiciones o bien imprimir los datos del alumno
si la clave cumple con todas las condiciones.​
f) Realice una función llamada verificar_claves que recibe como parámetro una lista de
alumnos, la función deberá controlar por cada alumno si la contraseña que usa cumple con:
ser mayor a 6 caracteres y terminar con un número. ​
Construir un menú, el menú deberá permitir ingresar 5 opciones, La opción 0 permite salir​
del menú, el resto de las opciones permiten : - imprimir los datos de todos los alumnos con
el formato pedido en el punto a) - imprimir los datos del alumno que tiene el legajo más
chico. - imprimir los datos del alumno que tiene el nombre más largo. - Imprimir si las
contraseñas de cada alumno cumplen con un tamaño mayor a 6 caracteres y terminan con
un número. ​

def alumnos_unaj(): #item a​
alumnos = [ ]​
legajo = input(“Ingrese legajo (0 para finalizar): ”)​
while legajo != “0”:​
nombre = input(“Ingrese el nombre del alumno: ”)​
apellido = input(“Ingrese el apellido del alumno: ”)​
contra = input(“Ingrese la contraseña del alumno: ”)​
datos = [legajo, nombre, apellido, contra]​
[Link](datos)​
legajo = input(“Ingrese legajo (0 para finalizar): ”)​
return alumnos​

def imprimir_alumno(alumno): #item b​
print(“Legajo: ” + alumno[0])​
print(“Nombre: ” + alumno[1])​
print(“Apellido: ” + alumno[2])​
print(“Contraseña: ” + alumno[3])​

def legajo_menor(alumno): #item c​
menor = alumno[0] ​
for alum in alumno:​
if int(alum[0]) < int(menor[0]):​
menor = alumno #actualiza si encontramos uno mas chico​
return menor​

def nombre_mas_largo(alumnos): #item d​
mayor = alumnos[0] ​
for alum in alumnos:​
if len(alum[1]) > len(mayor[1]):​
mayor = alum​
return mayor​

def controlar_clave(alumno): #item e​
contra = alumno[3]​
if len(contra) <= 6:​
print(“Error: la contraseña debe tener mas de 6 caracteres”)​
elif contra[-1] < “0” or contra[-1] > “9”:​
print(“Error: la contraseña debe terminar con un numero”)​
else: ​
print(“Legajo: ” + alumno[0])​
print(“Nombre: ” + alumno[1])​
print(“Apellido: ” + alumno[2])​
print(“Contraseña: ” + alumno[3])​

def verificar_clave(alumnos): #item f​
for alum in alumnos: #recorre la lista ​
controlar_clave(alum)​

def menu():​
alumnos = alumnos_unaj()​
opcion = -1​
while opcion != 0​
print(“- - - Menu - - -”)​
print(“1. Imprimir los datos de todos los alumnos”)​
print(“2. Imprimir los datos del alumno que tiene el legajo mas chico”)​
print(“3. Imprimir los datos del alumno que tiene el nombre más largo”)​
print(“4. Imprimir si las contraseñas tienen 6 caracteres y termina con un número”)​
print(“0. Salir”)​
opcion = int(input(“Ingrese una opcion: ”))​

if opcion == 1:​
for alum in alumnos: #para que recorra la lista de alumnos ​
imprimir_alumno(alumno)​
elif opcion == 2:​
menor = legajo_menor(alumno)​
elif opcion == 3:​
mayor = nombre_mas_largo(alumnos)​
elif opcion == 4:​
verificar_clave(alumnos)​
elif opcion == 0:​
print(“Saliendo del menu”)​
else: ​
print(“Ingrese una opcion valida”)​

menu()​

Ejercicio 7: Realice el siguiente programa que realiza reportes sobre la situación de los
empleados (recursos humanos) de una empresa. ​
Para ello, el programa debe permitir la carga de la información de empleados de una
empresa. Sobre Empleados, se debe cargar número de legajo, nombre, apellido, sexo (que
puede femenino, masculino o sin especificar), antiguedad, categoría (que puede ser
maestranza, técnico, ventas, administrativo o auxiliar), sueldo básico y número de sucursal
donde trabaja. La carga termina cuando el apellido del empleado sea FIN.​
Luego, el programa debe mostrar el siguiente reporte para el número de una sucursal
ingresada por el usuario, calculando y mostrando los datos adecuados (Debe reemplazar
las XXX del ejemplo, por los datos calculados). El usuario puede pedir reportes hasta que el
número de la sucursal ingresada sea 0.​

El reporte debe ser: ________________________________________ Información sobre
Recursos humanos de la sucursal número XXX: La sucursal número XXX, tiene una
cantidad XXX total de empleados, de los cuáles un XXX % son hombres, XXX % son
mujeres y XXX % sin especificar. El sueldo básico promedio de los empleados de dicha
sucursal es XXX. El empleado/a con mayor antigüedad de esta sucursal es nombre XXX y
apellido XXX que tiene la categoría XXX.​

def datos_empleados():​
empleados = [ ]​
apellido = input(“Ingrese apellido del empleado o FIN para terminar: ”)​
while apellido != “FIN”: ​
legajo = input(“”)​
nombre = input(“”)​
sexo = input(“”)​
antiguedad = input(“”) ​
categoria = input(“”) ​
sueldo_basico = float(input(“”))​
numero_sucursal = input(“”) ​
carga_datos = [legajo, nombre, apellido, sexo, antiguedad, categoria, sueldo_ basico,
numero_sucursal] ​
[Link](carga_datos)​
apellido = input(“Ingrese apellido del empleado o FIN para terminar: ”)​
return empleados​

def generar_reporte(empleados, sucursal):​
total = 0​
mujeres = 0​
hombres = 0​
sin_especificar = 0​
suma_sueldos = 0​
mayor_antiguedad = 0 #al iniciar es cero años, ejemplo: empleado nuevo​
empleado_antiguo = 0​

for emp in empleados:


if emp[7] == sucursal:​
total = total + 1 #registra un empleado
if emp[3] == “masculino”:​
hombres = hombres + 1​
elif emp[3] == “femenino”:​
mujeres = mujeres + 1​
else:​
sin_especificar = sin_especificar + 1​
suma_sueldos = suma_sueldos + emp[6]​

if emp[4] > mayor_antiguedad: ​
mayor_antiguedad = emp[4] #se guarda la antiguedad mas alta ​
empleado_antiguo = emp #si se encuentra una mayor, se actualiza ​

porc_hombres = (hombres * 100)/ total​
porc_mujeres = (mujeres * 100)/ total​
porc_sin = (sin_especificar * 100)/ total​
sueldo_promedio = suma_sueldos / total​

También podría gustarte