Explicación del concepto
Esta lección introduce un hábito que los buenos desarrolladores adquieren temprano: verificar pequeñas piezas de código antes de que se conviertan en problemas mayores. Aún no estás aprendiendo frameworks de prueba completos. Estás aprendiendo a hacerle preguntas sencillas a tu código y a confirmar que las respuestas sigan siendo correctas. En Python, `assert` es una de las formas más fáciles de hacerlo. Te permite escribir una regla corta como "este valor nunca debe ser negativo" o "esta función debe devolver 42 para esta entrada". Si la regla falla, Python se detiene y te muestra exactamente dónde tu suposición fue incorrecta. Esto importa porque los principiantes a menudo confían en "se ve bien" en lugar de verificar el comportamiento. Las pruebas cambian eso. Te dan una forma rápida de detectar errores mientras el código aún es pequeño y fácil de corregir. Al final de esta lección, deberías ser capaz de: • escribir algunas aserciones básicas para una pequeña función auxiliar, • entender qué te está diciendo un `AssertionError`, • usar verificaciones rápidas para confirmar que tu código sigue funcionando después de un pequeño cambio. Por qué esto importa: una vez que empiezas a cambiar el código con más frecuencia, la confianza se vuelve importante. Las pruebas pequeñas te dan esa confianza sin hacer que la lección se sienta pesada o complicada.
Dónde poner el código
- Define las variables de color y posición en la parte superior.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, canvas, SVG o bloque con estilo) al final.
Referencia de comandos
- Usa `assert` para pequeñas verificaciones de aprendizaje cuando quieras confirmar que una función devuelve el valor que esperas.
- Mantén cada aserción enfocada en un solo comportamiento para que sea fácil entender qué falló.
- Ejecuta tus verificaciones después de cada pequeña edición en lugar de esperar a que la lección termine.
- Trata las aserciones fallidas como retroalimentación útil, no como una señal de que eres malo programando.
Guía paso a paso
- Ejecuta el archivo una vez y confirma que `All score checks passed.` aparece en la terminal.
- Cambia un valor esperado a propósito para que una aserción falle, luego lee el error y corrígelo.
- Agrega una nueva aserción para `normalize_score(0)` y ejecuta el archivo de nuevo.
- Agrega otra aserción para `normalize_score(100)` para que pruebes ambos extremos del rango válido.
- Escribe una oración corta explicando por qué las verificaciones rápidas son útiles antes de que un script se haga más grande.
Ejercicios prácticos
- Crea una segunda función auxiliar que limite un valor de temperatura a un rango seguro, luego escribe dos o tres aserciones para ella.
- Cambia la función para que devuelva el valor incorrecto para un caso y confirma que tus aserciones detectan el error.
- Describe con tus propias palabras la diferencia entre "el código se ejecuta" y "el código es correcto para los casos que probé".
Retos de código
- Escribe una versión de la función que genere `ValueError` para entradas imposibles en lugar de corregirlas silenciosamente, luego decide qué estilo te parece más claro para esta lección.
- Crea una pequeña función de prueba para una función auxiliar de cadenas, como recortar espacios o capitalizar un nombre, y asegúrate de que cada aserción sea fácil de leer.
Mini tareas de práctica
- Ejecuta el archivo tres veces después de pequeñas ediciones para que las pruebas empiecen a sentirse normales.
- Mantén una aserción fallida a propósito por un minuto, léela cuidadosamente y luego repárala.
- Escribe una nota para ti mismo: `Small tests help me trust my code.`
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.