python xrange

En Python 3 , se eliminò la funciòn xrange. Si intenta utilizar la funciòn xrange en un programa Python 3, encontrará el NameError: name " xrange " no está definido error.

En esta guìa, vamos a discutir qué significa este error y por qué puede encontrarlo. Discutiremos un ejemplo de este error para que pueda aprender còmo solucionarlo en su còdigo.

NameError: name " xrange " no está definido

En Python 2, la funciòn xrange te permite crear un rango de n√∫meros. Considere el siguiente fragmento de còdigo:

Nuestro còdigo devuelve [0, 1, 2], que son todos los n√∫meros en el rango de 0 y 3 (sin incluir 3). La funciòn xrange () devuelve una lista de n√∫meros.

Python 3 eliminò la funciòn xrange () en favor de una nueva funciòn llamada range () . La funciòn range () , como xrange () , produce un rango de n√∫meros.

Hay dos diferencias entre xrange () y range () ;

  • xrange () y range () tienen diferentes nombres.
  • La funciòn xrange () genera una lista de n√∫meros. La funciòn range () genera un objeto.

Debido a que la funciòn range () genera un objeto, debe convertirlo en una lista si desea ver una lista de n√∫meros. De lo contrario, estos dos métodos funcionan de la misma manera.

Un escenario de ejemplo

Vamos a escribir un programa que muestre los primeros jugadores que están en la parte superior de una tarjeta tabla de clasificaciòn del juego. Para empezar, declaremos nuestra tabla de clasificaciòn como una lista :

81% de los participantes declararon que se sentìan más confiados sobre sus perspectivas laborales de tecnologìa después de asistir a un campamento de entrenamiento. Asigne 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.

A continuaciòn, vamos para preguntarle al usuario cuántas puntuaciones le gustarìa ver:

Convertimos el valor que inserta un usuario en un n√∫mero entero. Esto se debe a que la funciòn xrange () solo admite n√∫meros enteros.

< / a>

A continuaciòn, iteremos sobre nuestra lista de clasificaciòn utilizando un bucle for . Solo mostraremos el n√∫mero de resultados que el usuario ha solicitado ver en la consola:

Usamos la funciòn xrange () para generar un rango de n√∫meros entre 0 y el n√∫mero el usuario insertò. En nuestro bucle for, usamos una instrucciòn print () para imprimir la entrada de la tabla de clasificaciòn que se correlaciona con el n√∫mero en la lista xrange () que nuestro bucle está viendo.

Imprimimos el valor de "l" más uno junto al nombre de un jugador. Esto nos permite ver su posiciòn. Porque listas están en desviado de cero , agregamos uno a " l & rdquo ;. Esto evita que el primer jugador de nuestra lista esté en la posiciòn " 0 " y asì sucesivamente.

Ejecutemos nuestro còdigo y veamos qué sucede:

Nuestro programa devuelve un error.

Hemos utilizado el còdigo < > funciòn xrange () para generar un rango de n√∫meros. En Python 2, esto serìa válido. Estamos usando Python 3 para ejecutar nuestro programa, lo que significa que no podemos hacer referencia a la funciòn xrange () .

Para resolver nuestro error, necesitamos reemplazar xrange () con el método range () :

Para este caso de uso, ambos xrange () y range () devolverá el mismo resultado. Ejecutemos nuestro còdigo para ver si funciona:

Nuestro programa muestra con éxito los nombres de los jugadores en el torneo que aparecen en las dos primeras posiciones en la tabla de clasificaciòn.

Redefiniendo el método xrange ()

Una posible soluciòn a este problema es definir una variable llamada xrange al inicio de su programa que es igual a la funciòn range () :

Esta no es una buena soluciòn para este error. Esto se debe a que simplemente está evitando el problema de cambiar el nombre de los métodos existentes. Serìa confuso para alguien leer un còdigo base de Python 3 y ver xrange () declaraciones, incluso si ha definido xrange como una variable.

La mejor soluciòn es cambiar el nombre de sus xrange () declaraciones a range () y realizar los cambios necesarios para garantizar que su base de còdigo funcione en Python 3.

Conclusiòn

El " NameError: name " xra nge y rsquo; no está definido " se genera un error cuando intenta usar el método xrange () para crear un rango de n√∫meros en Python 3. Para resolver este error, actualice su còdigo para usar el còdigo range () método que viene con Python 3.

range () es el reemplazo de Python 3 para xrange () . ¬°Ahora tiene los conocimientos necesarios para resolver este error como un profesional!

Esperamos que este artículo le haya ayudado a resolver el problema. Además de python xrange, consulta otros temas relacionados con Funciones y métodos de Python.

¿Quiere sobresalir en Python? Consulte nuestra reseña de los mejores cursos en línea de Python 2022. Si está interesado en Data Science, consulte también cómo aprender programación en R.

Por cierto, este material también está disponible en otros idiomas:



Manuel Chamberlet

Moscow | 2022-12-01

¿Tal vez haya otras respuestas? ¿Qué significa el python xrange significa exactamente?. Solo espero que eso no vuelva a surgir

Ken Innsbruck

Boston | 2022-12-01

Funciones y métodos de Python es todo un poco confuso 😭 python xrange no es el único problema que encontré. Lo usare en mi tesis de licenciatura

Ken Williams

San Francisco | 2022-12-01

¿Tal vez haya otras respuestas? ¿Qué significa el python xrange significa exactamente?. Comprobado ayer, ¡funciona!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically