Résolue

Liste de course avec match

# Structures conditionnelles # Refactoring

Bonjour j'ai trouvé une solution avec match:

import sys

liste_course = ["banane","madere","pomme","sextoy","brosse"]

while True:
    user_input = input("""1.Ajouter un élément à la liste de courses
    2.Retirer un élément de la liste de courses
    3.Afficher les éléments de la liste de courses
    4.Vider la liste de courses
    5.Quitter le programme
    Tapez votre choix : """)

    match user_input:
        case "1":
            user_inputb = input("quel élément souhaitez vous ajouter? :  ").lower()
            liste_course.append(user_inputb)
            print(liste_course)
        case "2":
            user_inputb = input("quel élément souhaitez vous enlever? :  ").lower()
            if user_inputb in liste_course:
                liste_course.remove(user_inputb)
                print(liste_course)
            else:
                print("désolé mais ce mot n'est pas ds liste!!")
        case "3":
            print(liste_course)
        case "4":
            liste_course.clear()
            print(liste_course)
        case "5":
            sys.exit()
        case _:
            print("il semble que vous n'ayez pas tapez le bon chiffre.Merci de choisir un nombre valide entre 1 et 5")

1.J'aimerais avoir un avis sur ce code.Existe t-il un moyen de le rendre moins lourd? 2. Lorsque je fait le test avec les touche 1 à 5 ça marche, mais lorsque je tape une touche comme "b" ou "c" ou "6" je n'ai pas mon message "il semble que...".Je ne comprends pas pourquoi.

Thibault houdon

Mentor

Salut !

Pas grand chose à dire sur ton code, c'est bien !

Deux petites corrections si vraiment je veux trouver quelque chose à dire : niveau convention, mets un espace après les virgules dans ta liste, et tu peux aussi dans une chaîne de caractères multiligne mettre les éléments sans tabulation pour qu'ils s'affichent correctement :

import sys

liste_course = ["banane", "madere", "pomme", "sextoy", "brosse"]

while True:
    user_input = input("""1.Ajouter un élément à la liste de courses
2.Retirer un élément de la liste de courses
3.Afficher les éléments de la liste de courses
4.Vider la liste de courses
5.Quitter le programme
Tapez votre choix : """)

    match user_input:
        case "1":
            user_inputb = input("quel élément souhaitez vous ajouter? :  ").lower()
            liste_course.append(user_inputb)
            print(liste_course)
        case "2":
            user_inputb = input("quel élément souhaitez vous enlever? :  ").lower()
            if user_inputb in liste_course:
                liste_course.remove(user_inputb)
                print(liste_course)
            else:
                print("désolé mais ce mot n'est pas ds liste!!")
        case "3":
            print(liste_course)
        case "4":
            liste_course.clear()
            print(liste_course)
        case "5":
            sys.exit()
        case _:
            print("il semble que vous n'ayez pas tapez le bon chiffre.Merci de choisir un nombre valide entre 1 et 5")

Pour le case _ ça fonctionne bien chez moi, tu utilises bien Python >3.10 ?

Script case

C'est bon!! merci.j'avais tout simplement oublié de faire redémarrer mon terminal....
Merci aussi pour les conseils au niveau des conventions :)

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.