python xrange

In Python 3 wurde die xrange-Funktion entfernt. Wenn Sie versuchen, die xrange-Funktion in einem Python 3-Programm zu verwenden, stoßen Sie auf den NameError: name ‘xrange’ ist nicht definiert Fehler.

In diesem Leitfaden werden wir erläutern, was dieser Fehler bedeutet und warum er auftreten kann. Wir besprechen ein Beispiel fur diesen Fehler, damit Sie wissen, wie Sie ihn in Ihrem Code beheben können.

NameError: name ‘xrange’ ist nicht definiert

In Python 2 können Sie mit der xrange-Funktion einen Zahlenbereich erstellen. Betrachten Sie das folgende Code-Snippet:

Unser Code gibt [0, 1, 2] zuruck, das sind alle Zahlen im Bereich von 0 und 3 (außer 3). Die Funktion xrange() gibt eine Liste mit Zahlen zuruck.

Python 3 hat die Funktion xrange() zugunsten einer neue Funktion namens range(). Die Funktion range() erzeugt wie xrange() einen Zahlenbereich.

Es gibt zwei Unterschiede zwischen xrange () und range();

  • xrange() und range() haben unterschiedliche Namen.
  • Die Funktion xrange() generiert eine Liste von Zahlen. Die Funktion range() generiert ein Objekt.

Da die Funktion range() ein Objekt generiert, mussen Sie es in . umwandeln eine Liste, wenn Sie eine Liste mit Nummern anzeigen möchten. Ansonsten funktionieren diese beiden Methoden auf die gleiche Weise.

Ein Beispielszenario

Wir werden ein Programm schreiben, das die ersten Spieler anzeigt, die oben auf einer Karte stehen Spiel-Bestenliste. Lassen Sie uns zunächst unsere Bestenliste als Liste deklarieren:

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps sicherer in Bezug auf ihre Berufsaussichten im Tech-Bereich fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate mit dem Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Als Nächstes gehen wir um den Benutzer zu fragen, wie viele Spielstände er anzeigen möchte:

Wir konvertieren den Wert, den ein Benutzer eingibt, in eine ganze Zahl. Dies liegt daran, dass die Funktion xrange() nur Ganzzahlen unterstutzt.

Als Nächstes durchlaufen wir unsere Bestenlistenliste mit einer for-Schleife. Wir zeigen nur die Anzahl der Ergebnisse, deren Anzeige der Benutzer auf der Konsole angefordert hat:

Wir verwenden die Funktion xrange(), um einen Zahlenbereich zwischen 0 und der Zahl zu generieren In unserer for-Schleife verwenden wir eine print()-Anweisung, um den Leaderboard-Eintrag auszudrucken, der mit der Zahl in der xrange()-Liste korreliert, die unsere Schleife betrachtet.

Wir drucken den Wert von "l‚" plus eins neben dem Namen eines Spielers. Dadurch k√∂nnen wir seine Position sehen. Denn Listen sind in von null indexiert, fugen wir eins zu "l‚" hinzu. Dadurch wird verhindert, dass der erste Spieler auf unserer Liste auf Position "0‚" und so weiter.

Lassen Sie unseren Code ausfuhren und sehen, was passiert:

Unser Programm gibt einen Fehler zuruck.

Wir haben den xrange()-Funktion, um einen Zahlenbereich zu generieren. In Python 2 wäre dies gultig. Wir verwenden Python 3, um unser Programm auszufuhren, was bedeutet, dass wir nicht auf die Funktion xrange() verweisen können.

Um unseren Fehler zu beheben, mussen wir . ersetzen xrange() mit der Methode range():

Fur diesen Anwendungsfall beide xrange() und range() gibt das gleiche Ergebnis zuruck. Lassen Sie unseren Code ausfuhren, um zu sehen, ob er funktioniert:

Unser Programm zeigt erfolgreich die Namen der Spieler im Turnier an, die auf den ersten beiden Positionen der Rangliste erscheinen.

Die xrange()-Methode neu definieren

Eine mögliche Lösung fur dieses Problem besteht darin, am Anfang Ihres Programms eine Variable namens xrange zu definieren, die entspricht der Funktion range():

Dies ist keine gute Lösung fur diesen Fehler. Dies liegt daran, dass Sie lediglich das Problem des Umbenennens vorhandener Methoden vermeiden. Es wäre verwirrend fur jemanden, eine Python 3-Codebasis durchzulesen und zu sehen xrange()-Anweisungen, auch wenn Sie xrange als Variable definiert haben.

Die beste Lösung ist, Ihre xrange()-Anweisungen umzubenennen zu range() und um alle notwendigen Änderungen vorzunehmen, um sicherzustellen, dass Ihre Codebasis in Python 3 funktioniert.

Schlussfolgerung

Der "NameError: name ‚Äòxra nge‚Äô ist nicht definiert‚" error wird ausgel√∂st, wenn Sie versuchen, mit der Methode xrange() einen Zahlenbereich in Python 3 zu erstellen. Um diesen Fehler zu beheben, aktualisieren Sie Ihren Code so, dass er range() Methode, die mit Python 3 geliefert wird.

range() ist der Python 3-Ersatz fur xrange(). Jetzt haben Sie das Know-how, um diesen Fehler wie ein Profi zu beheben!

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

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method