← Volver

Cómo solucionar ValueError: invalid literal for int() with base 10

La función incorporada int() lanza la excepción ValueError cuando se le pasa como argumento una cadena que no puede ser convertida a un número entero. Por ejemplo:

>>> int("30")     # Conversión correcta.
30
>>> int("hola") # Error, no se puede convertir "hola" a un entero.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'hola'
>>> int("") # Tampoco una cadena vacía.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''

"base 10" hace referencia a que se está intentando convertir a un número en el sistema decimal (dígitos entre 0 y 9), ya que la función int() también permite trabajar con otros sistemas de numeración (binario, hexadecimal).

Para solucionar el error, asegurarse de que la cadena pasada como argumento no esté vacía y contenga un número entero (sin espacios, puntos, guiones, etc.). Si se quiere convertir a un número de coma flotante (por ejemplo, 3.14), utilícese la función incorporada float().

cadenas enteros conversion


👨‍💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

🐍 También te puede interesar:


💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.