Résolue

Amélioration du TP avec l'opérateur Walrus

# Python # Opérateurs d'assignation

En creusant des articles annexes sur Python, je suis tombé sur l'opérateur Walrus : := qui permet d'assigner une valeur à une variable tout en retournant cette valeur, le tout dans une expression.

Du coup ça m'a fait penser que je pouvais faire une mini amélioration de ce TP en utilisant ce mécanisme. Au lieu de marquer 2 fois cette ligne (avant la boucle et en fin de boucle) : choice = input("Votre choix : "), je peux maintenant ne la mettre qu'une seule fois dans la condition de ma boucle while.

menu = """Choisissez parmi les 5 options suivantes : 
1: Ajouter un élément à la liste
2: Retirer un élement de la liste
3: Afficher la liste
4: Vider la liste
5: Quitter"""

liste_course = []
print(menu)

while (choice := input("Votre choix : ")) != "5":

    # add element
    if choice == "1":
        element_to_add = input("Entrez le nom d'un élément à ajouter à la liste: ")
        liste_course.append(element_to_add)
        print(f"L'élement {element_to_add} a bien été ajouté")

    # remove element
    elif choice == "2":
        element_to_remove = input("Entrez le nom d'un élément à retirer de la liste: ")
        if element_to_remove not in liste_course:
            print(f"L'élement {element_to_remove} n'est pas dans la liste")
        else:
            liste_course.remove(element_to_remove)
            print(f"L'élement {element_to_remove} à bien été supprimé")

    # display list
    elif choice == "3":
        if len(liste_course) == 0:
            print("Votre liste ne contient aucun élément")
        else:
            print("Voici le contenu de votre liste")
            for i, e in enumerate(liste_course, 1):
                print(f"{i}. {e}")

    # clear list
    elif choice == "4":
        liste_course.clear()
        print("Le contenu de la liste à été supprimé")

    # wrong user input
    else:
        print("Veuillez choisir une option valide")

    print("--------------------------------\n")
    print(menu)

Gabriel Trouvé

Mentor

Bravo pour l'amélioration !

Il n'est pas beaucoup utilisé, mais très pratique cet opérateur... :)

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.