> lección 4/34 · 12 min

Errores comunes y cómo leerlos

Concepto

Un error no significa que rompiste algo: es Python diciéndote en qué línea se detuvo y por qué. Leer bien el mensaje ahorra más tiempo que tratar de no equivocarse nunca.

Cómo leer un error. Empieza por la última línea: dice el tipo de error y un mensaje corto. Arriba aparece el número de línea donde ocurrió. En el editor de esta página, además, verás una explicación en español debajo del código.

Traceback (most recent call last):
  File "<exec>", line 2, in <module>
NameError: name 'precio_total' is not defined

SyntaxError: algo está mal escrito. Falta un paréntesis, unas comillas o los dos puntos al final de un if. Python lo detecta antes de ejecutar cualquier línea, así que no se ejecuta nada hasta corregirlo.

if cantidad > 2      # faltan los dos puntos
    descuento = 0.1

IndentationError: la sangría no calza. Python usa la sangría (los espacios al inicio de la línea) para saber qué líneas forman un bloque. Una línea con espacios de más o de menos rompe esa estructura.

precio = 1000
  cantidad = 3       # sangría que no corresponde

NameError: un nombre que no existe. Usaste una variable que nunca se creó, casi siempre por un error de tipeo. El mensaje dice el nombre exacto que Python no encontró: compáralo letra por letra con el que creaste.

Uno a la vez. Python se detiene en el primer error que encuentra. Al corregirlo puede aparecer el siguiente: es avance, no retroceso.

> tarea Python

Este código tiene tres errores: uno de sintaxis, uno de sangría y uno de nombre. Ejecútalo, lee cada mensaje y corrígelos de a uno hasta que total quede calculado (precio por cantidad, con el descuento aplicado).

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.