Zufällige Seed-Funktion in Python

Abdul Jabbar 4 Dezember 2021
Zufällige Seed-Funktion in Python

Wenn Sie eine zufällige Anzahl unerwarteter Ergebnisse für Glücksspiele oder Computerspiele wünschen, müssen Sie die Zufallszahl aus der integrierten Methode in Python erstellen. Es ist auch in der Kryptographie nützlich, da es hilft, Zufallszahlen zu erstellen, die Hacker oder Angreifer nicht erraten können.

Mit dem seed-Verfahren wird der Zufallsgenerator neu gestartet. Der Zufallszahlengenerator benötigt eine Zahl am Anfang (einen Startwert), um eine Zufallszahl generieren zu können. Dies kann eine beliebige Zahl sein, kommt jedoch normalerweise aus Sekunden auf der Uhr eines Computersystems. Standardmäßig verwendet der Zufallszahlengenerator die aktuelle Uhrzeit des Computers. Verwenden Sie die Methode, um die Startnummer des Zufallszahlengenerators anzupassen.

Pseudo-Zufallszahlen generiert eine Aufgabe, indem es einige Funktionen für einen Wert ausführt. Im Allgemeinen ist dieser Wert die vorherige vom Generator generierte Zahl. Wenn Sie den Generator zum ersten Mal verwenden, gibt es jedoch keinen vorherigen Wert.

Hinweis: Wenn Sie denselben Startwert zweimal verwenden, erhalten Sie zweimal dieselbe Zufallszahl; Wir werden diesen Fall im folgenden Codebeispiel sehen.

Wenn Sie diese Methode aufrufen, erwarten Sie nicht, dass es sich um eine eindeutige Zahl handelt, da Computer nicht immer echte Zufallszahlen berechnen, da sie nach bestimmten vordefinierten Regeln funktioniert. Wenn Sie etwas Zufälligkeit hinzufügen möchten, müssen Sie einige Regeln für Ihren Prozess erstellen; Um beispielsweise eine Gleichung für Ihren Prozess in Ausdruck mit x zu erstellen, addieren Sie 600 + x und subtrahieren dann mit 30. Nehmen wir x (den Startwert) als 40.

  • Addiere 600 + 40 = 640
  • Subtrahiere 30 = 614

Nach dem gleichen Algorithmus wäre die zweite Zufallszahl.

  • Addiere 600 + 30 = 630
  • Subtrahiere 30 = 600

Dieses einfache Beispiel folgt einem bestimmten festgelegten Muster, jedoch sind die Algorithmen hinter der Computernummernerzeugung viel schwieriger, um den Zufall viel besser zu imitieren, als ich es hier tun kann. Aber der Vorgang folgt immer noch einem bestimmten Muster, das sich bei der nächsten Eingabe von 40 oder einer beliebigen Zahl in den zufälligen seed wiederholt.

Zufällige Seed-Funktion in Python

In diesem Codeblock generieren wir eine Zufallszahl zwischen 0 und 100 und generieren diese dreimal zu Verifizierungszwecken. Beim ersten und zweiten Mal geben wir denselben Seed, und beim dritten Mal gibt es keinen Seed oder ändert den Seed-Wert. Zuerst importieren wir die Zufallsfunktionalität in unseren Code und stellen den Seed als 3 bereit, was uns den Wert 31 als Zufallszahl liefert, dann liefern wir den gleichen Seed, der uns wieder dieselbe Zahl liefert, weil der Seed war gleich. Aber wenn wir einen neuen Seed oder keinen Seed bereitstellen, wird der Wert immer anders sein.

import random

random.seed(4)
print(random.randint(1, 100))
random.seed(4)
print(random.randint(1, 100))
print(random.randint(1, 100))

Ausgabe:

31
31
39

Die Verwendung der Funktion random.randint würde eine Zufallszahl erzeugen und nichts anderes tun. Wenn Sie die Verwendung derselben zufällig generierten Zahl so einfach beibehalten möchten, sollten Sie die Seed-Funktion verwenden.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn