Saltar al contenido

Sigo recibiendo este error para mi programa Python simple: “Error de tipo: el objeto ‘flotante’ no se puede interpretar como un número entero”

Puede darse el caso de que halles alguna incompatibilidad en tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al proyecto final.

Solución:

En:

for i in range(c/10):

Como resultado, está creando un flotador; para solucionar esto, use el operador de división int:

for i in range(c // 10):

range() sólo puede trabajar con números enteros, pero dividiendo con el / operador siempre da como resultado un valor flotante:

>>> 450 / 10
45.0
>>> range(450 / 10)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'float' object cannot be interpreted as an integer

Haga que el valor sea un número entero de nuevo:

for i in range(int(c / 10)):

o usar el // operador de división de piso:

for i in range(c // 10):

Como se muestra abajo, range solo admite números enteros:

>>> range(15.0)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: range() integer end argument expected, got float.
>>> range(15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>>

Sin embargo, c/10 es un flotador porque / siempre devuelve un flotador.

Antes de ponerlo rangenecesitas hacer c/10 un entero Esto se puede hacer colocándolo int:

range(int(c/10))

o usando //que devuelve un número entero:

range(c//10)

Si estás de acuerdo, puedes dejar un post acerca de qué te ha parecido esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *