Articles

Python random randrange() und randint(), um eine zufällige Ganzzahl innerhalb eines Bereichs zu generieren

In diesem Artikel werden wir sehen, wie Python random.randrange() und random.randint() verwendet wird, um eine Zufallszahl zu generieren. Mit randrange() und randint() Funktionen eines Zufallsmoduls können wir eine zufällige Ganzzahl innerhalb eines Bereichs generieren. Wenn Sie beispielsweise eine zufällige Ganzzahl zwischen 0 und 9 generieren möchten, können Sie diese Funktionen verwenden.

Ziele dieser Lektion. In dieser Lektion lernen Sie, wie Sie:

  • Generiere eine zufällige Ganzzahl innerhalb eines Bereichs mit randrange() und randint()
  • Generiere die zufällige Ganzzahl nur mit der spezifischen Länge
  • Generiere eine zufällige Ganzzahl mit einem Vielfachen von n
  • Erstelle eine Liste zufälliger Ganzzahlen
  • Generiere eine sichere zufällige Ganzzahl
  • ein zufälliges mehrdimensionales Array zufälliger Ganzzahlen

Weiterführende Literatur

  • Lösen Sie die Python-Übung zur Generierung zufälliger Daten und das Quiz zur Generierung zufälliger Daten
  • , lesen Sie Arbeiten mit Zufallsdaten in Python (Vollständige Anleitung)

Verwendung von random.randint()

Syntax:

random.randint(start, stop)

Diese Funktion gibt eine zufällige Ganzzahl innerhalb eines Bereichs zurück. Diese Funktion benötigt zwei Parameter. Beides ist obligatorisch. Beispiel: random.randint(0, 100) gibt eine beliebige Zufallszahl zwischen 0 und 100 zurück.

Die randint(start, stop) enthält sowohl Start- als auch Stoppnummern, während zufällige Ganzzahlen generiert werden. Es wird eine Zufallszahl aus dem inklusiven Bereich generiert.

zufällig.randint() Beispiele für die Generierung zufälliger Ganzzahlen

Ausgabe:

Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89

Hinweis: Sie können keine Gleitkommazahl in randint() verwenden. Es wird ein ValueError: non-integer arg 1 wenn Sie andere Werte als eine Ganzzahl verwenden.
Lesen Sie diese Anleitung, um eine zufällige Gleitkommazahl innerhalb eines Bereichs zu generieren.

Wie man random benutzt.randrange()

Sehen wir uns zuerst die Syntax an

random.randrange(start, stop)

Diese Funktion gibt eine zufällig ausgewählte Ganzzahl aus range(start, stop, step) . Diese Funktion benötigt drei Parameter. Von drei Parametern sind zwei Parameter optional. dh start und step sind die optionalen Parameter.

  • Das start Argument ist die Startnummer in einem zufälligen Bereich. d.h. untere Grenze. Der Standardwert von start ist 0, wenn nicht angegeben.
  • Das stop Argument ist die letzte Zahl in einem zufälligen Bereich. das stop Argument ist die obere Grenze.
  • Die step ist eine Differenz zwischen jeder Zahl in der Sequenz. Der Schritt ist optional Parameter. Der Standardwert von step ist 1, wenn nicht angegeben.

zufällig.randrange() Beispiele für die Generierung zufälliger Ganzzahlen innerhalb eines Bereichs

Hier im folgenden Beispiel versuchen wir, ein zufälliges int in einem bestimmten Bereich zu drucken. Dieses Beispiel zeigt alle Varianten der random.randrange() Funktion.

Ausgabe:

Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180

Hinweis: Sie können den Float-Wert randrange() nicht verwenden. Es wird ein ValueError: non-integer arg 1 for randrange() wenn Sie andere Werte als eine Ganzzahl verwendet haben.

Generieren Sie die zufällige Ganzzahl einer bestimmten Länge

Was ist, wenn Sie eine zufällige Zahl der Länge n generieren möchten? Sie möchten beispielsweise eine Zufallszahl der Länge 4 generieren. Sehen wir uns das Beispiel an, um die Zufallszahl der Länge 4 mit random.randrange() .

Ausgabe:

First random number of length 4 is 1931Second random number of length 4 is 5715

Hinweis: Wie Sie sehen, setzen wir einen Start auf 1000 und einen Stopp auf 10000, da wir die Zufallszahl der Länge 4 (von 1000 bis 9999) generieren möchten.

Generiere ein zufälliges ganzzahliges Vielfaches von n

In diesem Beispiel generieren wir eine Zufallszahl zwischen x und y, die ein Vielfaches von 3 wie 3, 6, 39, 66 ist.

import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)

Ausgabe:

Random number multiple of 3 is 264

Generiere eine zufällige negative Ganzzahl

Mal sehen, wie man eine zufällige negative Ganzzahl zwischen -60 und -6 generiert.

import randomsingedInt = random.randrange(-60, -6)print("Random negative integer between -60 to -6")print(singedInt)

Ausgabe:

Random negative integer between -60 to -6-49

Zufällige positive oder negative Ganzzahl generieren

import randomnum = random.randint(-10, 10)print(num)

Zufällig 1 oder -1 generieren

import randomnum = random.choice()print(num)

Hinweis: wir haben random verwendet.choice(), um eine einzelne Zahl aus der Liste der Zahlen auszuwählen. Hier ist unsere Liste

Generieren Sie eine Liste zufälliger Ganzzahlen

In diesem Abschnitt erfahren Sie, wie Sie mehrere Zufallszahlen generieren. Manchmal benötigen wir eine Beispielliste, um Tests oder Operationen durchzuführen. In diesem Fall können wir, anstatt sie manuell zu erstellen, eine Liste mit zufälligen Ganzzahlen mit randint() oder randrange() . In diesem Beispiel erfahren Sie, wie Sie eine Liste mit 10 zufälligen Ganzzahlen erstellen.

Ausgabe:

Printing list of 10 random numbers

In diesem Beispiel besteht die Möglichkeit, eine doppelte Zahl in einer Liste zu erhalten

Erstellen Sie eine Liste von Zufallszahlen ohne Duplikate

Im obigen Beispiel besteht die Möglichkeit, eine doppelte Zufallszahl in einer Liste zu erhalten. Wenn Sie sicherstellen möchten, dass jede Zahl in der Liste eindeutig ist, gibt es eine einfache Möglichkeit, eine Liste eindeutiger Zufallszahlen zu generieren. Mit random.sample() wir können eine Liste von eindeutigen Zufallszahlen erstellen.

  • Das random.sample() gibt eine abgetastete Liste ausgewählter Zufallszahlen innerhalb eines Wertebereichs zurück.
  • Es wiederholt das Element nie, so dass wir eine Liste von Zufallszahlen ohne Duplikate erhalten können

Mal sehen, wie man 10 zufällige ganze Zahlen aus dem Bereich 0 bis 1000 generiert.

Ausgabe:


Wenn Sie möchten, dass jede Zahl ein Vielfaches von n ist, verwenden Sie den step Parameter von range() Funktion. Zum Beispiel möchten Sie eine Liste von 10 Zufallszahlen, aber jede ganze Zahl in einer Liste muss ein Vielfaches von 5 sein, dann verwenden Sie random.sample(range(0, 1000, 5), 10)

Lesen Sie mehr: random.sample()

Zufallszahlenliste sortieren

Wenn Sie eine Liste zufälliger Ganzzahlen in aufsteigender Reihenfolge sortieren möchten, verwenden Sie die sort() Funktion

Ausgabe:

Before sorting random integers listAfter sorting random integers list

Generieren Sie eine sichere zufällige Ganzzahl

Vor allem sind sicher. Der kryptographisch sichere Zufallsgenerator generiert Zufallszahlen mithilfe von Synchronisationsmethoden, um sicherzustellen, dass keine zwei Prozesse gleichzeitig dieselbe Zahl erhalten können. Wenn Sie Zufallszahlen für eine sicherheitsrelevante Anwendung erstellen, müssen Sie diesen Ansatz verwenden.

Wenn Sie Python-Version weniger als 3.6 verwenden und kryptografisch sichere zufällige Ganzzahlen generieren möchten, verwenden Sie die random.SystemRandom().randint() oder random.SystemRandom().randrange() Funktionen. Lesen Sie, wie Sie zufällige Daten in Python sichern.

Beispiel:

Ausgabe:

Secure random integer is 30Secure random integer is 162

Wenn Sie eine Python-Version höher als 3.6 verwenden, können Sie das secrets-Modul verwenden, um eine sichere zufällige Ganzzahl zu generieren.

import secretsprint("Random integer generated using secrets module is ")# from 0 to 10secureNum1 = secrets.randbelow(10)print(secureNum1)

Ausgabe:

Random integer generated using secrets module is 8
  • Sichern Sie zufällige Daten in Python.
  • Python secrets module

Erstellen Sie ein zufälliges mehrdimensionales Array zufälliger Ganzzahlen

Pythons NumPy-Modul verfügt über ein numpy.random Paket zum Generieren zufälliger Daten. Um ein zufälliges mehrdimensionales Array von Ganzzahlen innerhalb eines bestimmten Bereichs zu erstellen, können wir die folgenden NumPy-Methoden verwenden:

Sehen wir uns nun das Beispiel an.

Generiere ein 4 x 4 Array von Ints zwischen 10 und 50, exklusiv:

Ausgabe:

4 x 4 array of ints between 10 and 20 inclusive ]

Generiere ein 5 x 3 Array von Ints zwischen 60 und 100, inklusive:

Ausgabe:

3 x 5 array of ints between 10 and 20 exclusive ]

Punkte, an die man sich bei randint() und randrange()

  • Verwenden Sie randint() wenn Sie eine Zufallszahl aus einem inklusiven Bereich generieren möchten.
  • Verwenden Sie randrange() wenn Sie eine Zufallszahl innerhalb eines Bereichs generieren möchten, indem Sie einen Wert angeben. Es erzeugt eine Zufallszahl aus einem exklusiven Bereich.

Sie sollten einige Werteinschränkungen einer randrange() Funktion kennen.

  • Der randint() rand randrange() funktioniert nur mit Ganzzahlen. Sie können keine Gleitkommazahlen verwenden.
  • Wenn Sie Gleitkommazahlen verwenden, wird ValueError: non-integer arg 1 for randrange() . In diesem Artikel erfahren Sie, wie Sie eine zufällige Gleitkommazahl innerhalb eines Bereichs generieren.
  • Der Schritt darf nicht 0 sein. Wenn es auf 0 gesetzt ist, erhalten Sie eine ValueError: zero step for randrange()

Der Start sollte nicht größer als stop sein, wenn Sie alle positiven Zahlen verwenden. Wenn Sie fälschlicherweise den Start größer als stop setzen, erhalten Sie eine ValueError: empty range for randrange()

import randomprint(random.randrange(100, 10, 2))

Ausgabe:

ValueError: empty range for randrange()

Sie können aber auch den Startwert größer als stop setzen, wenn Sie einen negativen Schrittwert verwenden.

import randomprint(random.randrange(100, 10, -2))

Ausgabe:

60

Also, was denkst du?

Ich möchte von dir hören. Was halten Sie von diesem Artikel zu randint() und randrange()? Oder vielleicht habe ich eine der Verwendungen dieser beiden Funktionen verpasst. Wie auch immer, lassen Sie es mich wissen, indem Sie unten einen Kommentar hinterlassen.

Versuchen Sie auch, die folgende Übung und das folgende Quiz zu lösen, um die Arbeit mit Zufallsdaten in Python besser zu verstehen.

  • Python Zufallsdatengenerierungsübung zum Üben und Beherrschen der Zufallsdatengenerierungstechniken in Python.
  • Python-Quiz zur Generierung zufälliger Daten zum Testen Ihrer Konzepte zur Generierung zufälliger Daten.