rango int de python

Funciones y métodos de Python

El método range () solo acepta valores enteros como parámetro. Si intenta utilizar el método range () con un valor de cadena, encontrará el & ldquo; TypeError: & lsquo; str & rsquo; el objeto no se puede interpretar como un número entero & rdquo; error.

Esta guía explica por qué puede encontrar este error y qué significa. Veremos un escenario de ejemplo para ayudarlo a comprender este problema y solucionarlo en su programa.




TypeError: & lsquo; str & rsquo; el objeto no se puede interpretar como un número entero

El método range () crea una lista de valores en un rango particular. Se usa comúnmente con un bucle for para ejecutar un cierto número de iteraciones.

El método solo acepta valores enteros como argumentos. Esto se debe a que los valores que crea range () son números enteros. Considere el siguiente programa:

 create_range = range (5, 10) para n en create_range: print (n) 

Nuestro programa imprime cinco enteros en la consola:

 5 6 7 8 9 

Si range () acepta cadenas, sería más difícil para la función determinar qué rango de números debería crearse. Por eso siempre es necesario especificar números enteros como argumentos. En el ejemplo anterior, 5 y 10 fueron nuestros argumentos.




Un escenario de ejemplo

Vamos a crear un programa que permita a una pizzería ver los nombres y precios de la mayoría pizzas populares en su menú. Para empezar, define dos listas que almacenan la información con la que funcionará nuestro programa:

 names = ["Pepperoni", "Margherita", "Jamón y piña", "Brie y cebollino"] precios = [ 9.00, 8.40, 8.40, 9.50] 

Estas listas son paralelas y aparecen ordenadas según la popularidad de una pizza. Eso significa que los valores en una posición particular en la lista se corresponden entre sí. Por ejemplo, el precio de un & ldquo; Brie and Chive & rdquo; la pizza cuesta $ 9.50.

El 81% de los participantes dijeron que se sentían más seguros sobre sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Nuestra siguiente tarea es preguntar el usuario cuántas pizzas le gustaría mostrar. Podemos hacer esto usando una declaración input () :

 to_display = input (" Ingrese el número de pizzas que le gustaría mostrar: ") 

Ahora sabemos el número de pizzas que el usuario está buscando información, podemos usar un bucle for para imprimir cada pizza y su precio en la consola:

 for p in range (0, to_display): print (" {} cuesta $ {}. ". formato (nombres [p], precios [p ])) 

Nuestro programa imprime un mensaje que contiene el nombre de cada pizza y el precio de esa pizza. Nuestro ciclo se detiene cuando ha iterado a través del número de pizzas que un usuario ha solicitado mostrar en la consola.

Ejecutemos nuestro programa y veamos si funciona:

 Ingrese el número de pizzas que le gustaría mostrar: 2 Traceback (última llamada más reciente): Archivo "main.py ", línea 6, en & lt; módulo & gt; for p in range (0, to_display): TypeError: el objeto 'str' no se puede interpretar como un entero 

Nuestro programa devuelve un error en la línea de código donde definimos nuestro bucle for.




La solución

Hemos creado un bucle for que se ejecuta en un conjunto particular de tiempos dependiendo del valor que el usuario insertó en la consola.

El problema con nuestro código es que input () devuelve una cadena, no un número entero. Esto significa que nuestra declaración range () está intentando crear un rango de valores usando una cadena, lo cual no está permitido. Esto es lo que evaluó nuestro código en nuestro programa:

Para corregir este error, debemos convertir & ldquo; to_display & rdquo; a un entero. Podemos hacer esto usando el método int () :

 para p en rango (0, int (to_display)): print ("{} cuesta $ {}.". Formato (nombres [p], precios [p])) 

& ldquo; to_display & rdquo; ahora es un número entero. Esto significa que podemos usar el valor para crear un rango de números. Ejecutemos nuestro código:

 Ingrese el número de pizzas que le gustaría mostrar: 2 Pepperoni cuesta $ 9.0. Margherita cuesta $ 8.4. 

Nuestro código imprime con éxito la información que solicitamos. Podemos ver los nombres de las dos pizzas más populares y los precios de esas pizzas.





Conclusión

El error & ldquo; TypeError: & lsquo; str & rsquo; no se puede interpretar como un entero & rdquo; se genera cuando se pasa una cadena como argumento a un declaración range () . Para corregir este error, asegúrese de que todos los valores que usa en una declaración range () sean enteros.

Ahora tiene ¡el conocimiento que necesita para corregir este error como un profesional!





rango int de python: StackOverflow Questions

Tutorials