Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 10:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Refactoriza: costo de estadía en hotel
Medio100 pts·Refactorización
Enunciado
Descripción
Se te entrega una función que calcula el costo total de una estadía en un hotel. La función recibe el número de noches, el tipo de habitación, si la estadía incluye fines de semana y el nivel de lealtad del cliente.
El código funciona, pero está lleno de malos olores: números mágicos, variables de una sola letra, condicionales anidados y toda la lógica mezclada en una sola función.
Tu tarea
Refactoriza la función calculate_hotel_stay_cost para que:
- Elimine los números mágicos — define constantes con nombres descriptivos en
UPPER_SNAKE_CASE - Use nombres de variables descriptivos — nada de
a,b,t,d,r, etc. - Extraiga funciones auxiliares — al menos una función que ayude a calcular partes del costo
- Mantenga el mismo comportamiento — todos los casos de prueba deben seguir pasando
Reglas de negocio
- Tipos de habitación:
"standard"(80/noche),"deluxe"(150/noche),"suite"(250/noche) - Fin de semana agrega un 20% de recargo sobre el precio base
- Nivel de lealtad aplica descuento:
"silver"→ 5%,"gold"→ 10%,"platinum"→ 15% - Si el número de noches es menor a 1, retorna
-1
Restriccionesexpand_more
- Dificultad: Medio
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar print() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar