biobootloader / wolverine

MIT License
5.22k stars 516 forks source link

apoyo #53

Open M-v-C-2 opened 1 year ago

M-v-C-2 commented 1 year ago

class Empleado: def init(self, nombre, apellido, sueldo_base, afp, fecha_ingreso, hijos): self.nombre = nombre self.apellido = apellido self.sueldo_base = sueldo_base self.afp = afp self.fecha_ingreso = fecha_ingreso self.hijos = hijos

def calcular_base_imponible(self): meses_trabajados = (2021 - int(self.fecha_ingreso.split("/")[-1])) 12 bonificacion = self.sueldo_base (meses_trabajados 0.01) asignacion_familiar = self.sueldo_base (self.hijos * 0.05) base_imponible = self.sueldo_base + bonificacion + asignacion_familiar return base_imponible

def calcular_descuentos(self): base_imponible = self.calcular_base_imponible()

    essalud = base_imponible * 0.07

    if self.afp == "AFP(X)":
        afp = base_imponible * 0.12
    elif self.afp == "AFP(Y)":
        afp = base_imponible * 0.114
    else:
        afp = 0 # Asignación predeterminada si no se cumple ninguna condición

    return essalud, afp

def calcular_pago_total(self): essalud, afp = self.calcular_descuentos() base_imponible = self.calcular_base_imponible()

    pago_total = base_imponible - essalud - afp

    return pago_total

Pedir datos de los empleados

empleados = [] for i in range(2): print(f"Ingrese los datos del empleado {i+1}:") nombre = input("Nombre: ") apellido = input("Apellido: ") sueldo_base = float(input("Sueldo base: ")) afp = input("AFP (AFP(X) o AFP(Y)): ") fecha_ingreso = input("Fecha de ingreso (DD/MM/YYYY): ") hijos = int(input("Cantidad de hijos: "))

empleado = "Empleados"(nombre, apellido, sueldo_base, afp, fecha_ingreso, hijos)
empleados.append(empleado)

Calcular y mostrar los pagos individuales

for empleado in empleados: base_imponible = empleado.calcular_base_imponible() essalud, afp = empleado.calcular_descuentos() pago_total = empleado.calcular_pago_total()

print(f"\nEmpleado: {empleado.nombre} {empleado.apellido}")
print(f"Base imponible: {base_imponible:.2f}")
print(f"Descuento ESSALUD: {essalud:.2f}")
print(f"Descuento AFP: {afp:.2f}")
print(f"Pago total: {pago_total:.2f}")

Calcular y mostrar los promedios de pago

total_pagos = sum(empleado.calcular_pago_total() for empleado in empleados) promedio_pago = total_pagos / len(empleados)

print(f"\nPromedio de pago a los empleados: {promedio_pago:.2f}")