Lingua-e
← Errores
Python

Qué significa ValueError y cómo solucionarlo

Referencia del error

ValueError

Lenguaje

Python

Severidad

Media

Cuándo ocurre

Un ValueError se lanza en Python cuando una función recibe un argumento del tipo correcto pero con un valor inapropiado.

Posibles soluciones

Valida los valores de entrada antes de pasarlos a funciones con requisitos estrictos. Usa try/except ValueError para manejar la entrada del usuario con gracia. Consulta la documentación para conocer los rangos de valores válidos al llamar funciones matemáticas o de conversión.

Errores relacionados

Más detalles

Un ValueError se lanza en Python cuando una función recibe un argumento del tipo correcto pero con un valor inapropiado. El tipo es correcto, pero el contenido o número real no tiene sentido para esa operación.

Por qué ocurre

  • Pasar un string no numérico a int() o float().
  • Proporcionar un valor fuera del rango válido para una operación (por ejemplo math.sqrt(-1)).
  • Desempaquetar una secuencia en una cantidad incorrecta de variables.
  • Pasar un string vacío donde se requiere uno no vacío.

Posibles soluciones

Valida los valores de entrada antes de pasarlos a funciones con requisitos estrictos. Usa try/except ValueError para manejar la entrada del usuario con gracia. Consulta la documentación para conocer los rangos de valores válidos al llamar funciones matemáticas o de conversión.

Ejemplos

Python

Código que causa el error

number = int("hello")
print(number)

Error en la terminal

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    number = int("hello")
ValueError: invalid literal for int() with base 10: 'hello'

Código corregido

raw = "hello"

try:
    number = int(raw)
except ValueError:
    print(f"'{raw}' is not a valid number")
    number = 0

print(number)  # 0

Practica en inglés

¿Cómo le explicarías un ValueError a un compañero dev? Elige la frase correcta:

"I hit an error...

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis