Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: Solución más simple para ejercicio 13.

salaries = [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]
bonuses = {}
total_bonuses = 0
min_bonuses = 0
max_bonus = 0

for salary in salaries:
    bonus = max(salary * 0.1, 200)
    bonuses[salary] = bonus
    total_bonuses += bonus
    if bonus == 200:
        min_bonuses += 1
    if bonus > max_bonus:
        max_bonus = bonus

print(f'Total de bonificaciones: {total_bonuses:.2f}')
print(f'Empleados con bonificación mínima: {min_bonuses}')
print(f'Valor más alto de bonificación: {max_bonus:.2f}')
"bonus = max(salary * 0.1, 200)"  es una forma más compacta y elegante que encontré para reemplazar a la siguiente estructura condicional:

```
if salary * 0.1 < 200:
    bonus = 200
else:
    bonus = salary * 0.1
```

La función max() recibe dos (o más) valores y devuelve el mayor.
Además, recorro el "for" una sola vez para ejecutar las acciones requeridas por el programa.
1 respuesta

Hola,

Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!