Está en la página 1de 2

class Trabajador:

def __init__(self, nombre, categoria, horas_extra, tardanzas):


self.nombre = nombre
self.categoria = categoria
self.horas_extra = horas_extra
self.tardanzas = tardanzas

def calcular_sueldo_basico(self):
if self.categoria == 'A':
return 3000.00
elif self.categoria == 'B':
return 2500.00
elif self.categoria == 'C':
return 2000.00

def calcular_pago_hora_extra(self):
sueldo_basico = self.calcular_sueldo_basico()
horas_mensuales = 240 # 8 horas al día * 30 días
pago_hora = sueldo_basico / horas_mensuales
return self.horas_extra * pago_hora

def calcular_descuento_tardanzas(self):
minutos_tardanza = self.tardanzas
descuento_por_minuto = 0.1733 # (Sueldo Básico / 240 hrs / 60 min)
descuento_total = minutos_tardanza * descuento_por_minuto
return round(descuento_total, 2)

def calcular_sueldo_neto(self):
sueldo_basico = self.calcular_sueldo_basico()
pago_hora_extra = self.calcular_pago_hora_extra()
descuento_tardanzas = self.calcular_descuento_tardanzas()
sueldo_neto = sueldo_basico + pago_hora_extra - descuento_tardanzas
return round(sueldo_neto, 2)

class Boleta:
def __init__(self, trabajador):
self.trabajador = trabajador

def imprimir_boleta(self):
print("*** BOLETA DE PAGO ***")
print("NOMBRE:", self.trabajador.nombre)
print("CATEGORIA:", self.trabajador.categoria)
print("SUELDO BASICO:", self.trabajador.calcular_sueldo_basico())
print("DESCUENTO TARDANZAS:",
self.trabajador.calcular_descuento_tardanzas())
print("PAGO HORAS EXTRAS:", self.trabajador.calcular_pago_hora_extra())
print("SUELDO NETO:", self.trabajador.calcular_sueldo_neto())

# Solicitar los datos del trabajador


nombre_trabajador = input("Nombre del Trabajador: ")
categoria_trabajador = input("Categoría (A, B o C): ")
horas_extra_trabajador = int(input("Horas Extra: "))
tardanzas_trabajador = int(input("Tardanzas (minutos): "))

# Crear instancia de Trabajador


trabajador = Trabajador(nombre_trabajador, categoria_trabajador,
horas_extra_trabajador, tardanzas_trabajador)

# Crear instancia de Boleta y generar la boleta


boleta = Boleta(trabajador)
boleta.imprimir_boleta()

También podría gustarte