Lingua-e
Python

¿Qué significa ValueError?

← Errores

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.

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ómo solucionarlo

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.

Código corregido

raw = "hello"

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

print(number)  # 0

Errores relacionados

¿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