Programa en Python para Gestión de Usuarios y Liquidación de Salarios

Desarrolla un programa en Python que gestione un sistema de registro de usuarios para una empresa. El sistema debe permitir la creación, visualización, modificación y liquidación de usuarios, así como calcular el promedio de pago según el sexo de los usuarios registrados. Cada usuario tendrá un código, nombre, apellido, sexo, y cantidad de horas trabajadas. El programa ofrecerá un menú con opciones numéricas para ejecutar cada funcionalidad. Además, solicitará el valor de la hora de trabajo para realizar los cálculos de liquidación.

def crear(codigo,u):
    nombre=input("Digite el nombre: ")
    apellido=input("Digite el apellido: ")
    sexo=input("Digite el sexo m o f: ")
    horas=float(input("Digite la cantidad de horas: "))
    fila=[]
    fila.append(codigo)
    fila.append(nombre)
    fila.append(apellido)
    fila.append(sexo)
    fila.append(horas)
    fila.append(0)
    u.append(fila)
    return u


def mostrar(u):
    n=len(u)
    for i in range (0,n):
        for j in range (0,6):
            print(u[i][j], end=" ")
        print()

def modificar(codigo,u):
    n=len(u)
    for i in range(0,n):
        if u[i][0]==codigo:
            nombre=input("Digite el nombre: ")
            apellido=input("Digite el apellido: ")
            sexo=input("Digite el sexo m o f: ")
            horas=float(input("Digite la cantidad de horas: "))    
            u[i][1]=nombre
            u[i][2]=apellido
            u[i][3]=sexo
            u[i][4]=horas
            print("El usuario con codigo",codigo,"fue modificado")
    return u

def valorhora(u):
    v=float(input("Digite el valor de la hora"))
    return v

def liquidar(u,v):
    n=len(u)
    for i in range (0,n):
        u[i][5]=u[i][4]*v
    return u

def promedio(u,sexo):
    n=len(u)
    acu=0
    con=0
    for i in range (0,n):
        if u[i][3]==sexo:
            acu=acu+ u[i][5]
            con= con+1
    if con>0:
        promedio=acu/con
        print("El promedio liquidado del sexo",sexo,"es",promedio)
    else:
        print("No hay registros del sexo",s)
def menu():
    opc=1
    codigo=2000
    u=[]
    v=0
    while opc >0 and opc <8:
        print("1. Crear usuario (cod,nombre,apellido,sexo,horas")
        print("2. Mostrar todos usuarios")
        print("3. modificar usuarios")
        print("4. Valor de la hora")
        print("5. Liquidar usuarios")
        print("6. Promedio pagado según sexo")
        print("7. Salir")
        opc=int(input("Digite la opción:"))
        if opc==1:
            u=crear(codigo,u)
            codigo=codigo + 1
        if opc==2:
            mostrar(u)
        if opc==3:
            codigo=int(input("digite el codigo a modificar: "))
            u=modificar(codigo,u)
        if opc==4:
            v=valorhora(u)
        if opc==5:
            u=liquidar(u,v)
        if opc==6:
            sexo=input("digite el sexo")
            u=promedio(u,sexo)
menu()

Este código en Python define una serie de funciones que trabajan juntas para administrar un sistema de registro de usuarios y realizar cálculos de salarios. Aquí está el desglose de cada función:

  1. Función crear(codigo, u):
    • Esta función solicita al usuario información como nombre, apellido, sexo y cantidad de horas trabajadas para crear un nuevo usuario.
    • Luego, crea una lista fila que contiene los detalles del usuario junto con su código y lo agrega a la lista de usuarios u.
    • Devuelve la lista actualizada u.
  2. Función mostrar(u):
    • Muestra en pantalla todos los usuarios registrados, imprimiendo sus datos en filas separadas.
  3. Función modificar(codigo, u):
    • Permite modificar la información de un usuario identificado por su código.
    • Solicita al usuario ingresar el nuevo nombre, apellido, sexo y cantidad de horas trabajadas para ese usuario.
    • Actualiza la información del usuario correspondiente en la lista u.
  4. Función valorhora(u):
    • Solicita al usuario ingresar el valor de la hora de trabajo.
    • Devuelve este valor para ser utilizado en los cálculos de liquidación.
  5. Función liquidar(u, v):
    • Calcula el salario para cada usuario multiplicando la cantidad de horas trabajadas por el valor de la hora (v).
    • Almacena el salario calculado en la lista de usuarios u.
  6. Función promedio(u, sexo):
    • Calcula el promedio del salario de los usuarios según el sexo proporcionado.
    • Itera sobre la lista de usuarios y acumula los salarios de los usuarios que coinciden con el sexo proporcionado.
    • Luego, calcula y muestra el promedio de los salarios de ese sexo en particular.
  7. Función menu():
    • Implementa un menú interactivo que permite al usuario seleccionar varias acciones mediante un número asociado a cada opción.
    • Utiliza las funciones anteriores según la opción seleccionada por el usuario para realizar las operaciones correspondientes en el sistema de gestión de usuarios.

Al final, se llama a la función menu() para ejecutar el programa y permitir al usuario interactuar con él a través del menú ofrecido.

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *