logo

Python | Generieren Sie eine zufällige Zeichenfolge mit einer bestimmten Länge

Das Problem der Generierung von Zufallszahlen ist recht häufig, aber manchmal gibt es Anwendungen, bei denen wir dies verbessern und Funktionen zum Generieren einer zufälligen Folge von Ziffern und Buchstaben für Anwendungen wie Passwörter bereitstellen müssen. Lassen Sie uns bestimmte Möglichkeiten besprechen, wie dies in Python durchgeführt werden kann. Hier verwenden wir die Zufallszeichenfolgengenerierung mit Großbuchstaben und Ziffern

Methode 1: Generieren Sie eine zufällige Zeichenfolge mit random.choices()

Das random.choices() Die Funktion eines Zufallsmoduls kann uns bei der Lösung dieser Aufgabe helfen und bietet eine einzeilige Alternative zu einer ganzen Schleife, die für diese bestimmte Aufgabe möglicherweise erforderlich ist. Funktioniert mit Python> v3.6.



  • String.ascii_uppercase – Es gibt die Zeichenfolge in Großbuchstaben zurück.
  • String.digits – Es gibt die Zeichenfolge mit Ziffern zurück.
  • String.Interpunktion – Es gibt die Zeichenfolge mit Satzzeichen zurück
  • String.ascii_letters – Es gibt die Zeichenfolge zurück, die verschiedene Fälle enthält.
  • String.ascii_lowercase – Es gibt die Zeichenfolge in Kleinbuchstaben zurück.

Beispiel 1: Zufällige String-Generierung mit Großbuchstaben

Python3








import> string> import> random> # initializing size of string> N>=> 7> # using random.choices()> # generating random strings> res>=> ''.join(random.choices(string.ascii_uppercase>+> >string.digits, k>=>N))> # print result> print>(>'The generated random string : '> +> str>(res))>

>

>

Ausgabe :

np.wo
The generated random string : 0D5YE91>

Beispiel 2: Generieren Sie a zufällig Zeichenfolge einer bestimmten Länge in Kleinbuchstaben

Python3




import> string> import> random> # initializing size of string> N>=> 7> # using random.choices()> # generating random strings> res>=> ''.join(random.choices(string.ascii_lowercase>+> >string.digits, k>=>N))> # print result> print>(>'The generated random string : '> +> str>(res))>

>

>

Ausgabe:

The generated random string : ipxktny>

Beispiel 3: Generieren Sie eine zufällige Zeichenfolge einer bestimmten Länge in Groß- und Kleinbuchstaben

Python3




import> string> import> random> # initializing size of string> N>=> 7> # using random.choices()> # generating random strings> res>=> ''.join(random.choices(string.ascii_letters, k>=>N))> # print result> print>(>'The generated random string : '> +> str>(res))>

>

>

Ausgabe:

The generated random string : ALpxvmI>

Methode 2: Zufällige Zeichenfolge mit Secrets.choice() generieren

Wir können Generieren Sie zufällige Zeichenfolgen und Passwörter in Python mit Secrets.choice(). Für kryptografisch sicherere Zufallszahlen kann diese Funktion des Geheimmoduls verwendet werden, da sein interner Algorithmus so konzipiert ist, dass er weniger vorhersehbare Zufallszahlen generiert.

Python3




import> secrets> import> string> # initializing size of string> N>=> 7> # using secrets.choice()> # generating random strings> res>=> ''.join(secrets.choice(string.ascii_uppercase>+> string.digits)> >for> i>in> range>(N))> # print result> print>(>'The generated random string : '> +> str>(res))>

>

>

Ausgabe :

The generated random string : T7HPKVR>

Ansatz :

Importieren Sie die erforderlichen Module: Random und String.
Definieren Sie eine Funktion mit dem Namen „generate_random_string“, die eine Parameterlänge verwendet, um die Länge der zu generierenden Zufallszeichenfolge zu bestimmen.
Verwenden Sie string.ascii_letters, um alle ASCII-Buchstaben in Klein- und Großbuchstaben abzurufen.
Verwenden Sie random.choice, um Zeichen aus Buchstaben für die angegebene Länge der Zeichenfolge zufällig auszuwählen und sie mit .join() zu verketten.
Gibt die generierte Zeichenfolge zurück.
Verwenden Sie die Funktion, indem Sie die gewünschte Länge übergeben, um eine zufällige Zeichenfolge zu generieren.

Python3




import> random> import> string> def> generate_random_string(length):> ># Get all the ASCII letters in lowercase and uppercase> >letters>=> string.ascii_letters> ># Randomly choose characters from letters for the given length of the string> >random_string>=> ''.join(random.choice(letters)>for> i>in> range>(length))> >return> random_string> # Example usage: generate a random string of length 10> random_string>=> generate_random_string(>10>)> print>(random_string)>

>

>

Ausgabe

mFPltLThhj>

Zeitkomplexität: O(n), wobei n die Länge der gewünschten Zufallszeichenfolge ist.

Hilfsraum: O(n), wobei n die Länge der gewünschten Zufallszeichenfolge ist.