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.