Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 10:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Refactoriza: precio final de producto
Medio100 pts·Refactorización
Enunciado
Implementa la función get_product_final_price que calcula el precio final de un producto aplicando un descuento según su categoría y luego el impuesto correspondiente.
Reglas de negocio:
| Categoría | Descuento |
|---|---|
"electronics" | 15% |
"clothing" | 20% |
"food" | 5% |
| otras | 0% |
- Sobre el precio con descuento, se aplica un impuesto del 21%
- Retorna
-1si el stock es 0 o menor - Retorna
-1si el precio es 0 o menor - El resultado se redondea a 2 decimales
Comportamiento esperado
get_product_final_price(100, "electronics", 10) # 102.85
get_product_final_price(50, "clothing", 5) # 48.40
get_product_final_price(20, "food", 3) # 22.99
get_product_final_price(100, "sports", 2) # 121.00
get_product_final_price(100, "electronics", 0) # -1
get_product_final_price(0, "food", 5) # -1
Requisitos de calidad
Al enviar, tu código será evaluado también en estos criterios:
- Sin números mágicos — extrae los porcentajes y la tasa de impuesto como constantes con nombres descriptivos
- Sin variables de una sola letra — usa nombres que expresen la intención (
price,discount,tax_rate, etc.) - Constantes en UPPER_SNAKE_CASE — al menos una constante nombrada así (ej:
TAX_RATE) - Al menos una función auxiliar — extrae lógica en funciones con responsabilidad única
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