Saltar al contenido

Lección 12 de 12 · Lectura y práctica

Cierre y próximos pasos: Introducción a Python

Cierra el curso de Python con un pequeño programa de gastos ficticios, validación de entradas y casos de prueba que puedas explicar.

Del concepto a la práctica

Taller de esta lección

Cerrar un curso implica demostrar límites, no solo mostrar el caso feliz. Una tabla de pruebas pequeña puede revelar si el programa distingue una colección vacía, datos válidos y páginas negativas antes de ampliarlo.

Ejemplo resuelto

python
def total_paginas(registros):
    total = 0
    for registro in registros:
        paginas = registro["paginas"]
        if not isinstance(paginas, int) or isinstance(paginas, bool) or paginas < 0:
            raise ValueError("páginas inválidas")
        total += paginas
    return total

print(total_paginas([{"paginas": 12}, {"paginas": 8}]))
print(total_paginas([]))

La salida es 20 y 0. La validación evita aceptar un booleano como entero.

Pruébalo

  1. Ejecuta primero los dos casos válidos.

  2. Añade un registro con paginas: -1.

  3. Comprueba que aparece ValueError con su mensaje.

  4. Anota entradas aceptadas y rechazadas.

Un error frecuente es probar solo un total positivo y declarar terminado el programa. Corrección: conserva una matriz con caso normal, vacío y erróneo.

Ejercicio: prueba [{"paginas": True}].

Comprueba tu resultado

se rechaza con páginas inválidas, sin sumar 1. No conectes el ejercicio con datos personales ni servicios externos.

Ciclo de recordar sin apuntes, aplicar, comprobar y repetir en otra sesión.
CursaloMapa de práctica
Aprender exige recuperar y aplicar

Recupera la idea sin mirar los apuntes y úsala en un ejercicio pequeño. Compara el resultado con criterios y corrige los errores identificados. Volver a practicar en otra sesión ayuda a comprobar qué puedes recordar y aplicar.

Ver la infografía en tamaño completo ↗

Un programa pequeño completo

Para cerrar el curso, construye un resumen de gastos ficticios. El trabajo reúne variables, listas, funciones y control de errores. No requiere conectarse a un banco ni guardar datos personales. Empieza por una función con un resultado fácil de comprobar.

def total_gastos(importes):
    total = 0
    for importe in importes:
        if not isinstance(importe, int) or isinstance(importe, bool):
            raise ValueError("Usa importes enteros en centavos")
        if importe < 0:
            raise ValueError("Un gasto no puede ser negativo")
        total += importe
    return total

assert total_gastos([1200, 350, 450]) == 2000
assert total_gastos([]) == 0

El ejemplo representa dinero en centavos enteros para no mezclar unidades ni introducir redondeos con números decimales binarios. No es un sistema contable. La suma de práctica es 2.000 centavos: usa el mismo criterio al mostrar el resultado.

Amplía una parte por vez

  1. Añade nombres a tres gastos ficticios y separa datos de presentación.
  2. Crea una función que devuelva cantidad de registros y total.
  3. Valida una entrada no numérica y un importe negativo con un mensaje claro.
  4. Añade una opción para leer un archivo de práctica y manejar un archivo ausente.
  5. Escribe un README con cómo ejecutar, qué entradas acepta y qué no hace el programa.

Casos para revisar

EntradaQué comprobar
Lista vacíaTotal cero y sin división por cero
Tres enteros válidosSuma reconstruible
Importe negativoRechazo explícito
Texto como importeNo se acepta como número silenciosamente
Archivo que no existeMensaje útil sin ocultar el problema

Si usas entradas de teclado, recuerda que llegan como texto. Convertir con int puede fallar; captura el error donde puedas explicar cómo corregirlo. No uses un bloque que ignore cualquier excepción y devuelva cero, porque haría parecer correcto un registro inválido.

Entregable de cierre

  • Código, datos ficticios y README en una carpeta.
  • Un registro de los casos ejecutados y del resultado observado.
  • Una explicación de una decisión: centavos enteros, validación o lectura de archivo.
  • Una próxima mejora concreta, como separar interfaz y cálculo, sin anunciar funcionalidades que no construiste.

Los assert ilustran pruebas propuestas; ejecuta y registra las tuyas. El cierre no reemplaza una evaluación existente ni acredita experiencia profesional que todavía no has demostrado.

Referencias para comprobar la implementación

Documentación consultada el 2 de octubre de 2026. Comprueba también las versiones y condiciones de tu proyecto.

Sigue con Introducción a Python

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.