Python de Cero a Experto / Funciones
Reto: kit de funciones para Mi Bolsillo
Junta todo el módulo construyendo un "kit de herramientas" de funciones para Mi Bolsillo: piezas pequeñas,
claras y reutilizables que procesan gastos. Usarás parámetros por defecto, funciones como valores (con
sorted y key), docstrings y type hints. Es exactamente cómo se organiza el código real: no un bloque
gigante, sino funciones bien nombradas que colaboran.
Reto
Kit de funciones
Qué debes construir
Un conjunto de funciones que operan sobre una lista de gastos (diccionarios con nombre, valor,
categoria):
con_iva(valor, tasa=0.19): devuelve el valor con impuesto (tasa opcional). Con docstring y type hints.total(gastos): suma los valores de todos los gastos.filtrar_por_categoria(gastos, categoria): devuelve solo los gastos de esa categoría (con una comprehension).mas_caro(gastos): devuelve el gasto de mayor valor (usamaxconkey).ordenar_por_valor(gastos): devuelve los gastos ordenados de mayor a menor (usasortedconkey).- Un pequeño reporte que use tus funciones.
Reglas
- Cada función hace UNA cosa clara y tiene un nombre descriptivo.
- Al menos
con_ivalleva docstring y type hints. - Usa
key=lambda...enmax/sorted, y una comprehension en el filtro.
30:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 3 conquistado: dominas las funciones —definirlas, hacerlas flexibles, pasarlas como valores, documentarlas, tiparlas e importar código ajeno—. Ya organizas programas de verdad. El módulo 4 da uno de los saltos más importantes: la PROGRAMACIÓN ORIENTADA A OBJETOS —modelar cosas del mundo (un gasto, un usuario, una cuenta) como OBJETOS con datos y comportamiento—. Es como pensarás las apps grandes.