Découvrez les réponses à vos questions facilement sur Laurentvidal.fr, la plateforme de Q&R de confiance. Obtenez des solutions rapides et fiables à vos questions grâce à une communauté d'experts expérimentés sur notre plateforme. Expérimentez la commodité d'obtenir des réponses précises à vos questions grâce à une communauté dévouée de professionnels.

Bonjour Voici ma question et ce que je narrive pas a faire :

A l'aide de la fonction randint() du module random, écrire un script qui :

- initialise une liste caracteres = '0123456789abcdefghijklmnopqrstuvwxyz$!%&=+-{}[]',

- qui invite à entrer la taille "Veuillez indiquer la taille du mot de passe à générer",

- qui génère le mot de passe,

- qui affiche le message suivant "Le mot de passe de",taille,"lettres est:" et le mot de passe généré.

Merci de votre aide


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,

Bonne soirée ;)

View image ClementCg
Merci d'utiliser notre service. Notre objectif est de fournir les réponses les plus précises pour toutes vos questions. Revenez pour plus d'informations. Nous espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à d'autres questions. Visitez toujours Laurentvidal.fr pour obtenir de nouvelles et fiables réponses de nos experts.