Calcular descuentos progresivos con recursión y funciones de orden superior
Visión general
De qué trata este proyecto.
Modela las reglas de descuento como funciones de orden superior: cada regla es una función pedido -> descuento. Implementa al menos 5 reglas (volumen escalonado, club por antigüedad, primer pedido, combo de productos, promoción temporal). Combínalas con un "composer" que aplique la mejor combinación admisible (no acumulativas todas). Usa recursión para recorrer estructuras (lista de productos, lista de reglas) sin bucles explícitos. Provee tests unitarios para cada regla y para la combinación. La implementación debe ser pura (sin efectos secundarios) salvo en el adaptador CLI. Entrega la librería, los tests, una guía de uso de 5 páginas y un análisis de complejidad temporal de cada regla.
El Briefing
Lo que harás y lo que demostrarás.
Implementar un motor de descuentos puro en Python usando recursión y funciones de orden superior, sin bucles for explícitos, con tests por regla y por combinación.
Earning criteria — what you'll demonstrate
- Aplicar recursión para recorrer estructuras de datos sin bucles explícitos
- Usar funciones de orden superior (map, filter, reduce) idiomáticamente
- Diseñar funciones puras y razonar sobre ausencia de efectos secundarios
- Analizar complejidad temporal de algoritmos recursivos
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Implementar lógica de negocio compleja con HOF y recursión sin bucles es la pieza de portafolio que demuestra dominio de abstracciones funcionales en cualquier entrevista junior.
Este proyecto afina
- recursion
- higher-order-functions
- functional-programming
Ingeniero de Backend
Backend que domina funciones puras y composición escribe servicios mucho más fáciles de testear y debuggear que los basados en estado mutable.
Este proyecto afina
- functional-programming
- higher-order-functions
- python