CodeForge

Python de Cero a Experto / Funciones

Reto: kit de funciones para Mi Bolsillo

Reto35 min60 XP

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

Media30 min60 XP(×2 sin mirar la solución)

Qué debes construir

Un conjunto de funciones que operan sobre una lista de gastos (diccionarios con nombre, valor, categoria):

  1. con_iva(valor, tasa=0.19): devuelve el valor con impuesto (tasa opcional). Con docstring y type hints.
  2. total(gastos): suma los valores de todos los gastos.
  3. filtrar_por_categoria(gastos, categoria): devuelve solo los gastos de esa categoría (con una comprehension).
  4. mas_caro(gastos): devuelve el gasto de mayor valor (usa max con key).
  5. ordenar_por_valor(gastos): devuelve los gastos ordenados de mayor a menor (usa sorted con key).
  6. Un pequeño reporte que use tus funciones.

Reglas

  • Cada función hace UNA cosa clara y tiene un nombre descriptivo.
  • Al menos con_iva lleva docstring y type hints.
  • Usa key=lambda... en max/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.