Discussions

mes 2 solutions

Image

Bonjour,

 

Pour cet exercice, comme je suis fénéant, je ne voulais pas créer une liste de 52 caractères pour les lettres, j'ai donc opté pour le module string qui peut générer une suite de caractères.

 

J'ai aussi fait une autre version avec une mini fonction pour ne pas me répéter dans les 3 boucles.

 

Bonne journée.

 

import string
import random

lettres = string.ascii_lowercase + string.ascii_uppercase
nombres = string.digits
caracteres_speciaux = string.punctuation
mdp = []

print("GENERATEUR DE MOTS DE PASSE !")
print()

demander_lettres = int(input("Combien voulez-vous de lettres ? "))
demander_nombres = int(input("Combien voulez-vous de chiffres ? "))
demander_caracteres = int(input("Combien voulez-vous de caractères spéciaux ? "))

for i in range(demander_lettres):
mdp.append(random.choice(lettres))

for i in range(demander_nombres):
mdp.append(random.choice(nombres))

for i in range(demander_caracteres):
mdp.append(random.choice(caracteres_speciaux))


random.shuffle(mdp)
mdp_modifie = "".join(mdp)
print()
print(f"Voici votre mot de passe : {mdp_modifie}")



# AUTRE SOLUTION AVEC UNE FONCTION

import string
import random

lettres = string.ascii_lowercase + string.ascii_uppercase
nombres = string.digits
caracteres_speciaux = string.punctuation
mdp = []

def creer_mdp(nb_caractere, type_car):
for i in range(nb_caractere):
mdp.append(random.choice(type_car))

print("GENERATEUR DE MOTS DE PASSE !")
print()

demander_lettres = int(input("Combien voulez-vous de lettres ? "))
demander_nombres = int(input("Combien voulez-vous de chiffres ? "))
demander_caracteres = int(input("Combien voulez-vous de caractères spéciaux ? "))

creer_mdp(demander_lettres, lettres)
creer_mdp(demander_nombres, nombres)
creer_mdp(demander_caracteres, caracteres_speciaux)

random.shuffle(mdp)
mdp_modifie = "".join(mdp)
print()
print(f"Voici votre mot de passe : {mdp_modifie}")
0 réponse
Image
Inscrivez-vous ou connectez-vous pour participer à la discussion.

Informations

Créée le 3 octobre 2022 06:54
Dernière activité le 3 octobre 2022 06:54