Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apoyo #53

Open
M-v-C-2 opened this issue Jul 19, 2023 · 0 comments
Open

apoyo #53

M-v-C-2 opened this issue Jul 19, 2023 · 0 comments

Comments

@M-v-C-2
Copy link

M-v-C-2 commented Jul 19, 2023

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}")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant