CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Exercice python

PasFortEnPython
PasFortEnPython
Niveau 14
20 octobre 2020 à 13:35:04

Bonjour j'ai besoin d'aide pour un exo en python, la première partie de l'exo a été faite :hap:
(ce qui est en spoil est la partie déjà réalisié)
3.1- Ecrire un programme qui saisit une chaîne de caractères « s » représentant un mot de passe. Le programme doit vérifier que « s » respecte les critères suivants : • Le mot de passe doit contenir un minimum de 4 et un maximum de 12 caractères. • Un mot de passe doit contenir des lettres minuscules, majuscules, chiffres et au moins 1 caractère non alphanumérique : = _ & ? # * $ @ { } + ( ) : , ; ! '' ' . e • Le mot de passe ne peut pas contenir des espaces. Si le mot de passe est valide, le programme affiche valide, sinon il affiche invalide 3.2- Le programme doit ensuite vérifier qu’il s’agit bien d’un utilisateur humain et non pas pas d’un ordinateur. Pour cela il génère aléatoirement une suite de chiffres et de lettres qu’il affiche à l’utilisateur en lui demandant de les saisir séparés avec un caractère spécial (le nombre de caractères est aléatoire entre 5 et 10 et le caractère spécial est généré aléatoirement aussi). Si la saisie correspond à ce qui est attendu alors le mot de passe est validé définitivement sinon un nouvel essai est proposé à l’utilisateur. Si le nombre d’essais est supérieur 10 alors l’utilisateur est rejeté définitivment.

Le code actuel :

tentative = 0
while tentative < 3:
    no_alpha = ":=_&?#*$@{}+():,;!''.e"
    min = "abcdefghijklmnopqrstuvwxyz"
    mdp = input("Entrez votre mot de passe: ")
    if len(mdp) >= 4 and len(mdp) <= 12:
        min = [c for c in mdp if c in min]
        maj = [c for c in mdp if c.isupper()]
        numb = [c for c in mdp if c.isdigit()]
        space = [c for c in mdp if c.isspace()]
        no_alpha = [c for c in mdp if c in no_alpha]

        if len(maj) > 0 and len(numb) > 0 and len(space) == 0 and len(no_alpha) > 0 and len(min) > 0:
            print("Mot de passe valide")
            break

    print("Votre mot de passe doit contenir entre 4 et 12 caractères, dont au moins une majuste, une minuscule et un caractère non alphanumérique, il ne doit pas y avoir d'espace.")
    tentative += 1
    if tentative ==3:
        print("Vous ne semblez ne pas avoir compris la consigne.")
        break

https://image.noelshack.com/fichiers/2020/43/2/1603193663-capture.png

Azerban
Azerban
Niveau 16
20 octobre 2020 à 15:53:21

Voici le code pour la deuxième partie (je te laisse l'intégrer dans la première).

# https://www.jeuxvideo.com/forums/42-47-64608047-1-0-1-0-exercice-python.htm
# password_human.py

import random
import string

letters_digits = random.sample(string.ascii_letters + string.digits, random.randint(5, 10))
special_char = random.choice(string.punctuation)

counter = 0

while counter < 10:

    user_result = input(f"Vous devez assembler les caractères `{' '.join(letters_digits)}` avec le caractère spécial `{special_char}` : ")
    expected_result = special_char.join(letters_digits)

    if user_result == expected_result:
        print('Mot de passe validé définitivement.')
        break
    
    counter += 1
PasFortEnPython
PasFortEnPython
Niveau 14
20 octobre 2020 à 18:45:57

Le 20 octobre 2020 à 15:53:21 Azerban a écrit :
Voici le code pour la deuxième partie (je te laisse l'intégrer dans la première).

# https://www.jeuxvideo.com/forums/42-47-64608047-1-0-1-0-exercice-python.htm
# password_human.py

import random
import string

letters_digits = random.sample(string.ascii_letters + string.digits, random.randint(5, 10))
special_char = random.choice(string.punctuation)

counter = 0

while counter < 10:

    user_result = input(f"Vous devez assembler les caractères `{' '.join(letters_digits)}` avec le caractère spécial `{special_char}` : ")
    expected_result = special_char.join(letters_digits)

    if user_result == expected_result:
        print('Mot de passe validé définitivement.')
        break
    
    counter += 1

Merci pour tout :ange:
Je vais prendre le temps de voir ça en détail :ok:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment