Sagot :
Bonsoir
Module random
Le module Python random, comme tous les autres modules, possède une documentation qui liste tout ce qu'il est possible de faire avec le module et les fonctions qu'il apporte.
Voici la documentation pour random:
https://docs.python.org/3/library/random.html
Code
Ci-joint tu trouveras le code final, je vais tenter d'expliquer chaque ligne pour t'aider à le comprendre.
▌ import random
Bon bha je pense que ça va jusque là
▌ caracteres = '0123456789abcdefghijklmnopqrstuvwxyz$!%&=+-{}[]'
Là je déclare simplement ce que l'exercice demande, donc une liste de caractères.
Cela n'a pas d'importance que ce ne soit pas une variable de type 'list', ici c'est une 'string' mais ca posera pas de soucis.
(Pour rappel les variables list c'est list = ['x', 'y'])
▌ length = int(input('Veuillez indiquer la taille du mot de passe à générer > '))
Ici on déclare une variable length qui demande à l'utilisateur de rentrer la longueur souhaitée, c'est le 'input()' qui permet cela.
Le int() qui englobe le input() permet d'obliger la saisie de chiffres, d'un integer (en entier)
▌ generated = random.sample(caracteres, length)
C'est à cette ligne qu'on utiliser une fonction importée par le module random. Il s'agit de sample().
sample(x,y) va retourner une nouvelle liste d'une longueur souhaitée (y) utilisant les éléments contenus dans la liste initiale (x)
Comme je viens de le dire au dessus, sample() va retourner une LISTE sauf que pour utiliser le mot de passe on a besoin que ca soit une string, en "un seul mot".
Donc on va devoir utiliser .join() qui est une fonction par défaut de Python (c.f. la documentation ou ton cours).
▌ print(''.join(generated))
Voilà
Si tu as mal compris quelque chose tu peux me le demander en commentaire,