Besoin d'aide sur Python

Besoin d'aide sur Python - Python - Programmation

Marsh Posté le 11-11-2013 à 18:23:34    

Bonjour je suis une lycéenne en terminale option ISN (Informatique et Sciences du Numérique).  
Chaque trimestre nous devons réaliser un programme sous Python.  
Ce trimestre il faut créer un programme sur les mots de passe.
Voilà les instructions que nous a laissé le professeur :  
 
Lors de l'exécution du programme, l'utilisateur est invité à saisir un mot de passe deux fois.  
(Ce mot de passe est ensuite transformé en liste grâce à la fonction list())
Pour que le mot de passe soit accepté, il devra respecter les critères suivants :
- les deux entrées du mot de passe devront être identiques ;
- le mot de passe devra avoir une longueur comprise entre 5 et 8 caractères inclus ;
- le mot de passe devra contenir au moins deux chiffres mais pas plus de 4.
 
Le programme demandera à l'utilisateur d'entrer deux fois le mot de passe jusqu'à ce que les deux entrées soient identiques et que le mot de passe respecte bien tous les critères ci-dessus.
 
Conseil : l'utilisation d'un ou plusieurs booléens bien choisis facilitera l'écriture du programme.

 
Ca peut paraître facile, mais je suis novice en la matière et j'ai commencé le programme sans grand résultat. J'ai grand besoin d'aide !
Merci d'avance !

Reply

Marsh Posté le 11-11-2013 à 18:23:34   

Reply

Marsh Posté le 11-11-2013 à 18:48:04    

avnt34 a écrit :


Ca peut paraître facile, mais je suis novice en la matière et j'ai commencé le programme sans grand résultat. J'ai grand besoin d'aide !


 
Et on peut voir ce que vous avez commencé ? Cela constituerait une vraie base de discussion pour vous faire avancer, non ? Donnez au moins votre algorithme en pseudo-code, si vos difficultés concernent l'implémentation ...
 
Au lieu de balancer le sujet (pour demain, j'imagine ...) comme ça, avec en filigrane le message "donnez moi directement la solution" ...
 
Cadeau : http://forum.hardware.fr/hfr/Progr [...] 4544_1.htm, points [0C] et [0D].

Reply

Marsh Posté le 11-11-2013 à 19:07:32    

# Programme pour tester la sécurité d'un mot de passe
 
print("Veuillez entrer deux fois un mot de passe comportant : \n entre 5 et 8 caractères inclus, \n au moins deux chiffres." )
 
    # Entrer le mot de passe, il sera transformé en liste pour vérifer s'il remplit les conditions
 
a=list(input("Entrez le mot de passe : " ))
a.sort()
for types in a:
    print(type(a))
print(a)
 
    # Entrer une deuxième fois le mot de passe pour être sûr que ce soit le bon souhaité par l'utilisateur
 
b=input("Entrez le mot de passe à nouveau : " )
 
    # Si les deux mots de passe est différent à l'autre, les re-saisir et s'il ne possède pas le nombre de caractères requis en choisir un autre
 
while a!=b and (len(a)>8 or len(a)<5):
    print("Le mot de passe que vous avez saisi ne possède pas le nombre de caractères requis ou l'un des deux mots de passe n'est pas identique à l'autre" )
    a=list(input("Entrez le mot de passe : " ))
    print(a)
    b=input("Entrez le mot de passe à nouveau : " )
 
Non le sujet est pour dans 3 semaines mais ça fait déjà 1 semaine que j'essaye sans grand résultat j'aurai besoin d'aide. Pas pour qu'on me le fasse, je voudrais comprendre. Parce que je n'arrive pas à trouver l'ordre des priorités parmi les obligations. J'ai l'impression de tourner en rond autrement. De plus, j'arrive pas à faire différencier les chiffres et les nombres dans ma liste pour pouvoir dire à l'utilisateur s'il a mis assez de chiffres dans son mot de passe. J'ai aussi un réel problème je n'arrive jamais à partir d'un algorithme j'ai besoin de créer le programme directement sur Python.

Reply

Marsh Posté le 13-11-2013 à 21:47:25    

1. ça a l'air d'être du Python 3, mais il faudrait préciser pour être certain, ça change la sémantique de certaines choses (input(), entre autres).
2. sur le forum, utiliser les balises CODE avec code=python pour conserver l'indentation (important en Python) et avoir la coloration syntaxique (ça facilite la lisibilité).
3. qu'essaies-tu d'accomplir avec tes appels à list, type ou sort?
4. python permet de chaîner les comparaisons, c'est quand même plus lisible (tes comparaisons sont incorrectes, accessoirement)
5. qu'est-ce qu'un chiffre?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed