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()
undrandint()
- 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 vonstart
ist 0, wenn nicht angegeben. - Das
stop
Argument ist die letzte Zahl in einem zufälligen Bereich. dasstop
Argument ist die obere Grenze. - Die
step
ist eine Differenz zwischen jeder Zahl in der Sequenz. Der Schritt ist optional Parameter. Der Standardwert vonstep
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(
) randrandrange()
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.
Leave a Reply