Résolue

Projet liste de courses

# Structures conditionnelles # Variables

Jean-Philippe MOLL HEGER

Bonjour tout le monde

Mon souci est la gestion du choix de l'utilisateur.

Son choix normal est compris entre 1 et 5.

son input est mis dans une variable choix.

je fais int(choix) que je compare à 1 à 5. pas de soucis

Mais si l'utilisateur tape n'importe quoi, la lettre a par exemple.

je "sors" du programme avec un message :


ValueError: invalid literal for int() with base 10: 'a'


alors que je voudrais dans ce cas là rester dans le programme pour que l'utilisateur refasse un choix (un bon;-) ).

Comment rester dans le programme ?

Merci !

Tu fais pas de int il faut que tu fasse un truc de ce style la :


good_choice = False
while not good_choice:
    choice = input("Entrez un choix entre 1 et 5") # avec la liste des choix
if choice in ["1", "2", "3", "4", "5"]: 
        good_choice = True # si le choix est 1,2,3,4 ou 5 good_choice devient vrai donc on sors de la boucle
else:
        print("Choix invalide") # sinon on recommence

Jean-Philippe MOLL HEGER

Merci pour ta réponse !


j'ai trouvé également une méthode pour tester l'erreur et faire une exception pour sortir de l'erreur sans sortir du code.

try : # gestion des erreurs de saisie

        test = int(choix)

    except ValueError :

        choix = 0

        print(" Mauvais choix !")


Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.