Explicación del concepto
La depuración es el momento en que la programación deja de ser teoría y empieza a sentirse real. Escribes algo que parece correcto, lo ejecutas con confianza y Python te muestra de inmediato que un detalle está mal. Eso no es un fracaso. Eso es desarrollo normal. En esta lección, practicarás la lectura de un error en lugar de reaccionar emocionalmente a él. El script a continuación tiene un error pequeño pero realista: los datos existen, pero se pasa el nombre de variable incorrecto a la función. Después de corregirlo, provocarás deliberadamente un segundo problema para que veas cómo se siente un tipo de error diferente. El objetivo no es solo hacer que el programa funcione. El objetivo es construir un hábito tranquilo: ejecuta el archivo, lee el traceback, corrige una cosa y prueba de nuevo. Al final de esta lección, deberías poder: • usar el traceback para encontrar la línea real que falló, • explicar por qué ocurre un `NameError` en lenguaje sencillo, • corregir un error a la vez en lugar de cambiar partes aleatorias del script.
Dónde poner el código
- Define las variables de color y posición al principio.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (print, canvas, SVG o bloque estilizado) al final.
Referencia de comandos
- Lee primero la última línea del traceback; usualmente te dice el tipo de error real y la línea exacta.
- Si ves un `NameError`, busca una variable que fue mal escrita, nunca creada o renombrada en un solo lugar.
- Corrige un problema, ejecuta el archivo de nuevo y solo entonces pasa al siguiente problema.
- No adivines a ciegas; deja que el mensaje de error guíe tu próxima edición.
Guía paso a paso
- Ejecuta el script una vez sin cambiar nada y lee el traceback lentamente de abajo hacia arriba.
- Encuentra la línea que causó el `NameError` y reemplaza `username` con `learner_name`.
- Ejecuta el archivo de nuevo y confirma que el saludo ahora se imprime correctamente.
- Después de que eso funcione, establece `learner_name = None` a propósito y ejecuta el archivo de nuevo para ver un error diferente.
- Restaura la cadena válida y escribe una nota breve sobre lo que cambió entre los dos errores.
Ejercicios prácticos
- Crea un segundo `NameError` a propósito cambiando el nombre de una variable en un solo lugar, luego corrígelo.
- Explica con tus propias palabras por qué `build_greeting(username)` falló antes de que la función pudiera ejecutarse correctamente.
- Agrega una simple protección que impida que la función acepte una cadena vacía después de terminar los pasos de depuración.
Retos de código
- Almacena el saludo en una variable primero, luego imprímelo solo después de asegurarte de que la función se ejecutó correctamente.
- Escribe una pequeña lista de verificación que puedas seguir en futuras sesiones de depuración: tipo de error, archivo, línea, variable, volver a ejecutar.
Mini tareas de práctica
- Copia el mensaje exacto de `NameError` en tus notas.
- Di en voz alta qué variable existe y cuál no antes de corregir el código.
- Guarda una frase para ti: `Un traceback es información, no un desastre.`
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.