Créer une boucle pour une erreur.
Résolu
Continuum
Messages postés
54
Statut
Membre
-
Continuum Messages postés 54 Statut Membre -
Continuum Messages postés 54 Statut Membre -
Bonjour,
Débutant en Python, je souhaiterais pourvoir créer une boucle lorsque le programme détecte une erreur précise, je ne sais pas si je suis clair donc voici un exemple:
Par exemple dans ce cas si l'utilisateur entre des lettres dans "mise" le programme lui demande de réessayer, mais si l'utilisateur rentre à nouveau des lettres (admettons qu'il soit bouché ^^), le programme se contente d'afficher "mise" et ferme, ce que je voudrais c'est que tant qu'il n'a pas entré de valeur correcte, c'est à dire ici des chiffres, le programme lui demande de recommencer.
C'est certainement possible par des moyens détournés avec des "while" ou des "for", j'ai notamment essayé de créer une boucle en stockant l'erreur dans une variable avec "as", mais ça complique nettement le problème.
Je n'ai pas trouvé le mot clé miracle malgré mes recherche sur le net, merci d'avance de votre aide!
Débutant en Python, je souhaiterais pourvoir créer une boucle lorsque le programme détecte une erreur précise, je ne sais pas si je suis clair donc voici un exemple:
mise=input("Saisissez votre mise") try: mise=int(mise) except ValueError: mise =input("Incorrect, Veuillez réésayer") print (mise)
Par exemple dans ce cas si l'utilisateur entre des lettres dans "mise" le programme lui demande de réessayer, mais si l'utilisateur rentre à nouveau des lettres (admettons qu'il soit bouché ^^), le programme se contente d'afficher "mise" et ferme, ce que je voudrais c'est que tant qu'il n'a pas entré de valeur correcte, c'est à dire ici des chiffres, le programme lui demande de recommencer.
C'est certainement possible par des moyens détournés avec des "while" ou des "for", j'ai notamment essayé de créer une boucle en stockant l'erreur dans une variable avec "as", mais ça complique nettement le problème.
Je n'ai pas trouvé le mot clé miracle malgré mes recherche sur le net, merci d'avance de votre aide!
A voir également:
- Créer une boucle pour une erreur.
- Créer un lien pour partager des photos - Guide
- Créer une adresse hotmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une liste déroulante excel - Guide
2 réponses
Tu as essayé d'insister ?
insiste = False while not insiste: try: mise=int(input("Saisissez votre mise : ")) insiste = True except ValueError: print ("Incorrect, Veuillez réésayer. ") insiste = False print (mise)
from sys import exit mess = "Saisissez votre mise " while True: mise=raw_input(mess) if mise.isdigit(): mise = int(mise) break elif mess=="Saisissez votre mise ": mess = "Saisissez un entier pour votre mise " elif mess=="Saisissez un entier pour votre mise ": mess = "Vous etes bouché ? Dernier essai" elif mess=="Vous etes bouché ? Dernier essai": exit() print '---------\nmise == %d' % mise
Merci ;)
Noter que ça ne sert à rien de redonner à insiste la valeur que ça a déjà dans le cas où on rentre dans la section "except"
On s'azperçoit aussi que insiste = False peut bien se remplacer par break et qu'on n'a pas besoin de l'objet isniste.