Saltar al contenido principal

Errores en Python

Los más comunes:

  • No leer el enunciado de forma completa antes de empezar a codificar.
  • Confusión entre print y return: Usar print() dentro de las funciones en lugar de return.
  • Uso de variables no definidas (scope y flujo): Intentar usar una variable que solo se ha creado dentro de un if o un try que podría no ejecutarse (generando un UnboundLocalError), o usar variables antes de definirlas.
  • input() dentro de funciones con parámetros: Funciones que reciben los datos como argumentos (ej: def funcion(lista):) pero que dentro vuelven a pedir los datos al usuario con input().
  • return mal posicionado (romper bucles antes de tiempo): Colocar return dentro de un bucle for o if sin la indentación correcta, rompiendo bucles antes de tiempo y no ejecutando las instrucciones siguientes.
  • Decimales con coma: Escribir 0,6 en lugar de 0.6. Python interpreta la coma como una tupla (0, 6), rompiendo las operaciones matemáticas.

Los menos comunes:

  • Case sensitivity: Confundir mayúsculas y minúsculas en variables (Valor vs valor) o palabras reservadas (none vs None).
  • Tipos de datos: Tratar cadenas como números (comparar "5" > "10") o guardar números como texto en listas.
  • Listas vacías: No comprobar si una lista está vacía antes de acceder a ella (lista[0]) o dividir por su longitud cuando ésta es 0, provocando errores de ejecución (IndexError, ZeroDivisionError).
  • Modificación incorrecta: Intentar sumar elementos sobrescribiendo la variable (total = n) en lugar de acumular (total += n).
  • Hardcoding: Escribir nombres concretos (ej. estudiantes['Ana']) dentro de una función genérica, haciendo que solo funcione para ese caso específico.
  • Falsa recursividad: Usar bucles for/while cuando el enunciado exige explícitamente resolver el problema mediante recursividad.
  • Bucles infinitos: Condiciones de salida inalcanzables (ej. comparar texto.lower() == "FIN" en mayúsculas).
  • Pérdida de orden: Usar set() para eliminar duplicados cuando se requería mantener el orden original de la lista.