Python | Générer une chaîne aléatoire d'une longueur donnée
Le problème de la génération de nombres aléatoires est assez courant, mais parfois, nous avons des applications qui nous obligent à améliorer cela et à fournir certaines fonctionnalités de génération d'une chaîne aléatoire de chiffres et d'alphabets pour des applications telles que les mots de passe. Discutons de certaines manières dont cela peut être effectué en Python. Ici, nous utiliserons la génération de chaînes aléatoires avec des lettres majuscules et des chiffres
Méthode 1 : générer une chaîne aléatoire à l'aide de random.choices()
Ce choix aléatoires() La fonction d'un module aléatoire peut nous aider à accomplir cette tâche et fournit une alternative simple à une boucle entière qui pourrait être nécessaire pour cette tâche particulière. Fonctionne avec Python> v3.6.
- String.ascii_uppercase – Il renvoie la chaîne en majuscules.
- Chaîne.chiffres – Il renvoie la chaîne avec des chiffres.
- Chaîne.ponctuation – Il renvoie la chaîne avec les ponctuations
- String.ascii_letters – Il renvoie la chaîne contenant différents cas.
- String.ascii_lowercase – Il renvoie la chaîne en minuscules.
Exemple 1 : génération de chaîne aléatoire avec des lettres majuscules
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))> |
Sortir :
The generated random string : 0D5YE91
Exemple 2 : générer un aléatoire chaîne d'une longueur donnée en minuscule
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))> |
Sortir:
The generated random string : ipxktny
Exemple 3 : Générer une chaîne aléatoire d'une longueur donnée en majuscules et minuscules
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))> |
Sortir:
The generated random string : ALpxvmI
Méthode 2 : générer une chaîne aléatoire à l’aide de secrets.choice()
Nous pouvons Générez des chaînes aléatoires et des mots de passe en Python en utilisant secrets.choice(). Pour les nombres aléatoires cryptographiquement plus sécurisés, cette fonction du module secret peut être utilisée car son algorithme interne est conçu de manière à générer des nombres aléatoires moins prévisibles.
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))> |
Sortir :
The generated random string : T7HPKVR
Approche :
Importez les modules nécessaires : random et string.
Définissez une fonction nommée generate_random_string qui prend un paramètre length pour déterminer la longueur de la chaîne aléatoire à générer.
Utilisez string.ascii_letters pour obtenir toutes les lettres ASCII en minuscules et majuscules.
Utilisez random.choice pour choisir au hasard des caractères parmi les lettres pour la longueur donnée de la chaîne et les concaténer à l'aide de .join().
Renvoie la chaîne générée.
Utilisez la fonction en passant la longueur souhaitée pour générer une chaîne aléatoire.
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)> |
Sortir
mFPltLThhj
Complexité temporelle : O(n), où n est la longueur de la chaîne aléatoire souhaitée.
Espace auxiliaire : O(n), où n est la longueur de la chaîne aléatoire souhaitée.