ValueError se encuentra cuando pasamos un tipo de argumento inapropiado. Aquí, estamos hablando del ValueError causado por pasar un argumento incorrecto a la int()
función. Cuando pasamos una representación de string de un flotante o cualquier representación de string que no sea int, da un ValueError.
Ejemplo 1: ValueError con base 10.
# ValueError caused by conversion of # String representation of float to int int('23.5')
Producción :
ValueError: invalid literal for int() with base 10: '23.5'
Uno puede pensar que al ejecutar el código anterior, la parte decimal ‘.5’ debe truncarse y el código debe dar como resultado 23 solamente. Pero el punto a tener en cuenta es que la función int() utiliza el sistema numérico decimal como base para la conversión, es decir. base = 10 es el valor predeterminado para la conversión. Y en el sistema de numeración decimal, tenemos números del 0 al 9 excluyendo el decimal (.) y otros caracteres (alfabetos y caracteres especiales). Por lo tanto, int()
con base = 10 solo puede convertir una representación de string de int y no flotantes o caracteres.
Primero podemos convertir la representación de string de float en float usando float()
la función y luego convertirla en un número entero usando int()
.
print(int(float('23.5')))
Producción :
23
Ejemplo 2: Pasar alfabetos en int()
.
int('abc')
Producción :
invalid literal for int() with base 10: 'abc'
Los caracteres a, b, c, d, e y f están presentes en el sistema base =16 y, por lo tanto, solo estos caracteres junto con los dígitos 0 a 9 se pueden convertir de su representación de string a números enteros en forma hexadecimal. Tenemos que pasar un parámetro base
con valor 16.
print(int('abc', base = 16))
Producción :
2748
Publicación traducida automáticamente
Artículo escrito por shivanshmishra4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA