Problème projet Python
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'essaye actuellement d'apprendre le langage python et avec ça je créer quelques petits programmes.
Jai un problème avec celui là: ici le programme nous demande d'entrer un chiffre et si on entre une lettre il nous dit que ce n'est pas bon et retiré un essaie.
Il s'arrête bien une fois le chiffre mis mais il ne sarrete pas lorsque le nombre d'essais et en dessous de 1...
Pourriez vous regarder et me dire qu'est ce que vous en pensez et m'aider à résoudre ce problème ?
print("") print("") print("") print("") print("Verifcation que vous n'êtes pas un robot") print("") print("") print("") print("") testchiffre = 1 essaie = 3 while essaie >= 1 : while testchiffre == (1): testchiffredeux = input("Veuillez entrer un chiffre : ") try: testchiffre = int(testchiffredeux) except: essaie = essaie - 1 print("Raté, il vous reste", str(essaie), "essaie(s)") print("") print("") print("") print("ok, vous n'êtes pas un robot") print("") print("") print("") print("") quit() quit()
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ?
- Le fichier à télécharger comporte plusieurs calques. l’un d’eux contient un mot caché. quel est ce mot ? - Forum Téléchargement
- Trousseau mot de passe iphone - Guide
- Quel est le mot secret en c7 ✓ - Forum Excel
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l’affiche pas. modifiez-le pour qu’il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Un document .docx est, en réalité, composé de plusieurs fichiers. dans le fichier à télécharger, trouvez le fichier secret. quel mot contient-il ? ✓ - Forum Windows
7 réponses
Si tu veux comprendre ce que fait le programme que tu as écrit, ajoute des print() en début et en fin de chaque boucle.
Comment réussis-tu à sortir de ta boucle intérieure?
Comment je fais si je veux entrer le chiffre 1 comme valeur?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionTu n'as pas répondu à ma question. Quel sera le test de la boucle intérieure si je veux entrer le nombre 1 ?
Ça se fait effectivement avec deux boucles mais c'est un peu plus tordu.
Il y a en fait deux problème dans ce petit bout de code.
+ Comment s'arranger pour sortir de la boucle intérieure sans tester si la valeur est 1 ?
+ Comment sortir de la boucle extérieure?
Si on pouvait dire au début que le nombre n'est "pas un nombre" et pouvoir le tester, on aurait réglé une partie du problème.
Mais, ça devient plus compliqué. Ça se fait en une boucle, crois-nous!
Je t'ai dit qu'on pouvait mettre autre chose entre le try et le except si ça marche.
C'est en partie là le truc si tu tiens à tes deux boucles.
Voici le code dont je parle (désolé, je ne peux pas colorer à cause de ma synthèse vocale)
-
essai = 3
while essai >= 1:
try:
nombre = int(input("Entrez un nombre "))
essai = -1 # Ne s'exécute pas s'il y a erreur.
except ValueError:
print("Nombre invalide")
essai -= 1
if essai >= 0:
print("Vous n'avez pas saisi de nombre valide")
else:
print("Vous avez saisi le nombre", nombre)
Je pense que c'est plus facile à comprendre en ajoutant une variable qui indique si un nombre a été rentré:
essai = 3 recu_nombre = False while essai >= 1 and not recu_nombre: try: nombre = int(input("Entrez un nombre ")) recu_nombre = True # Ne s'exécute pas s'il y a erreur. except ValueError: print("Nombre invalide") essai -= 1 if not recu_nombre: print("Vous n'avez pas saisi de nombre valide") else: print("Vous avez saisi le nombre", nombre)
Oui et je suis passer en débug mais j'arrive pas régler le fait que lorsque que essaie=0 le programme se stop.
Enfaite ça continue même en dessous ça passe a -1 et etc...
As-tu pu vérifier si le code testait la valeur de "essaie"?