Comment générer une chaîne aléatoire en Python?

Python peut être un outil très utile pour créer des chaînes aléatoires, par exemple. Il peut y avoir des dizaines de raisons différentes pour lesquelles vous pouvez créer une chaîne aléatoire de caractères, mais l’une les plus courantes consiste à utiliser cette chaîne comme mot de passe.
 
 
Pour générer une chaîne aléatoire, nous devons utiliser les deux modules Python suivants.

  • Module String contenant diverses constantes de chaîne contenant les caractères ASCII de tous les cas. Le module String contient des constantes distinctes pour les minuscules, les majuscules, les chiffres et les caractères spéciaux.
  • Module random pour effectuer la génération aléatoire.

Utilisez la constante string.ascii_lowercase pour obtenir toutes les lettres minuscules dans une seule chaîne. La constante string.ascii_lowercase contient toutes les lettres minuscules. I.e., ‘abcdefghijklmnopqrstuvwxyz’

random.choice() sélectionne un seul caractère dans une chaîne de caractères et l’ajoute à la variable à l’aide d’une fonction de jointure. La fonction choice() permet de choisir un seul caractère dans une liste.

Par exemple, supposons que vous souhaitez une chaîne aléatoire de longueur 8, puis nous pouvons exécuter la fonction random.choice() 8 fois pour sélectionner une seule lettre dans string.ascii_lowercase et l’ajouter à la variable string. Regardons le code ci-dessous.

import random
import string

def getPassword(length):
    """Générer une chaîne aléatoire de longueur fixe"""
    str = string.ascii_lowercase
    return ''.join(random.choice(str) for i in range(length))
    
print ("La chaine aleatoire est :", getPassword(8) )

Cela produit le résultat suivant:

La chaine aleatoire est : kkwcvbei

La sortie ci-dessus contient toutes les lettres minuscules. Si vous souhaitez uniquement les lettres majuscules, utilisez string.ascii_uppercase au lieu de string.ascii_lowercase.
 
QCM Python

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *