Skip to content

Errores comunes con strings en Python (y cómo evitarlos)

Ben Kemp | Python/SQL/PowerBI/Excel Tutorials edited this page Jan 11, 2026 · 2 revisions

Errores comunes con strings en Python (y cómo evitarlos)

Los strings en Python parecen simples, pero son una de las fuentes más comunes de errores, especialmente al limpiar datos, validar entradas de usuario y comparar texto.

Esta página recoge errores reales, explica por qué ocurren y muestra cómo evitarlos correctamente.

Error 1: Olvidar que los strings son inmutables

texto = "python"
texto.upper()
print(texto)

Salida:

python

❌ El string no cambia.

Cómo evitarlo:

texto = texto.upper()

Error 2: Comparar strings sin normalizar mayúsculas

respuesta = "Si"

if respuesta == "si":
    print("Correcto")

Salida:

Nada se imprime.

Cómo evitarlo:

if respuesta.lower() == "si":
    print("Correcto")

Error 3: Pensar que strip() elimina espacios internos

texto = "Python es genial"
resultado = texto.strip()
print(resultado)

Salida:

Python es genial

❌ strip() solo actúa en los extremos.

Cómo evitarlo:

texto.replace(" ", "")

Error 4: Usar index() sin comprobar si existe el texto

texto = "Hola mundo"
pos = texto.index("Python")

Salida:

ValueError: substring not found

Cómo evitarlo:

if "Python" in texto:
    pos = texto.index("Python")
O usar find().

Error 5: No tener en cuenta espacios ocultos (\n, \t)

texto = "Python\n"
print(texto == "Python")

Salida:

False

Cómo evitarlo:

python

Error 6: Concatenar strings con números sin conversión

texto = "Edad: " + edad

Salida

TypeError: can only concatenate str (not "int")

Cómo evitarlo:

f"Edad: {edad}"

Error 7: Usar split(" ") en lugar de split()

texto = "Python   es   genial"
resultado = texto.split(" ")
print(resultado)

Salida:

['Python', '', '', 'es', '', '', 'genial']

Cómo evitarlo:

texto.split()

Error 8: Usar replace() cuando solo se necesita strip()

texto = "   Python   "
resultado = texto.replace(" ", "")
print(resultado)

Salida:

PythonFunciona, pero es mala práctica.

Cómo evitarlo:

texto.strip()

Error 9: Pensar que count() detecta palabras completas

texto = "banana"
print(texto.count("an"))

Salida:

2Cuenta coincidencias, no palabras.

Cómo evitarlo:

Usar split() o expresiones regulares si se necesitan palabras completas.

Error 10: Comparar strings sin limpiar entrada de usuario

entrada = " admin "
print(entrada == "admin")

Salida:

False

Cómo evitarlo:

entrada.strip().lower() == "admin"

Reglas prácticas para evitar errores con strings

  • Normaliza siempre (strip(), lower())
  • Usa in antes de index()
  • Recuerda que los strings son inmutables
  • Prefiere f-strings para concatenar
  • Limpia siempre las entradas de usuario

Conclusión

La mayoría de los errores con strings en Python no son complejos, pero sí frecuentes. Aplicar estas buenas prácticas hace el código:

  • Más robusto
  • Más legible
  • Menos propenso a fallos silenciosos

Clone this wiki locally