Résolue

Manipulation de Liste

# Boucles # Listes # Correction de code

Bonjour,


J'ai suivi attentivement la correction de ce projet et je me rends compte de la logique que j'aurai pu adopter pour le terminer (je ne doute pas qu'elle sera de plus en plus précise au fur et à mesure de la formation :D).


J'aimerai, cependant, vous soumettre ma version pour avoir vos critiques sur ce que j'ai réalisé.

Je me suis mis quelques commentaires dans le code pour m'aider dans la structure et dans la réflexion.


Merci de votre temps et de vos retours.


# Choisissez parmi les 5 options suivantes :
# 1 - Ajouter un élément à la liste || Entrez le nom d'un élément a ajouter à la liste : || L'élément {} a bien été ajouté à la liste.
# 2 - Retirer un élément de la liste || Entrez le nom d'un élément a retirer de la liste :  || Votre élément a bien été retiré de la liste
#     -> Si élément n'est pas présent dans la liste : L'élément {} n'est pas dans la liste.
# 3 - Afficher la liste || Voici le contenu de votre liste (ex : 1 - Pomme, 2 - Poire, etc.)
# 4 - Vider la liste || La liste a été vidée de son contenu.
# 5 - Quitter || A bientôt !
# ➡️ Votre choix :
#
# Choix de l'utilisateur : input
# ajouter : append
# retirer : remove
# vider : clear
# quitter le programme : exit (module sys => à importer)
import sys

liste = []
choice = ""
# la boucle doit controler la valeur du choix
while choice == "":
    print("Choisissez parmi les 5 options suivantes :")
    print("1 - Ajouter un élément à la liste")
    print("2 - Retirer un élément de la liste")
    print("3 - Afficher la liste")
    print("4 - Vider la liste")
    print("5 - Quitter")
    choice = input("➡️  Votre choix : ")
    if choice == "1":
        ajout = input("Entrez le nom d'un élément a ajouter à la liste : ")
        liste.append(ajout)
        print(f"L'élément {ajout} a bien été ajouté à la liste.")
        print("____________________________________________")
        choice = ""
    if choice == "2":
        retrait = input("Entrez le nom d'un élément a retirer de la liste :  ")
        if retrait in liste:
            liste.remove(retrait)
            print(f"L'élément {retrait} a bien été retiré de la liste.")
            print("____________________________________________")
            choice = ""
        else:
            print("Cet élément ne fait pas partie de la liste")
            print("____________________________________________")
            choice = ""
    if choice == "3":
        if liste:
            for count, item in enumerate(liste):
                print(f'{count + 1} - {item}')
        else:
            print("Votre liste ne contient aucun élément !")
        print("____________________________________________")
        choice = ""
    if choice == "4":
        liste.clear()
        print("La liste a été vidée de son contenu.")
        print("____________________________________________")
        choice = ""
    if choice == "5":
        sys.exit("A bientôt")

Bonjour Michaël,


Ton code est déjà très bien


Juste quelques remarques.


1er point : Les variables

En ce qui concerne le nom de tes variables, tu utilises du français et de l'anglais

Une bonne pratique consiste à ne pas mélanger les deux, soit tu restes en français soit en anglais.

Si tu choisis l'anglais, attention au nom comme "choice" qui est une méthode du module "random"

Il faut donc être un peu plus explicite en mettant par exemple "user_choice"


2ème point : La répétition de code

Tu utilises les lignes suivantes dans chaque "if"

print("____________________________________________"
choice = ""

Tu peux les sortir des "if" et mettre uniquement ces 2 lignes à la fin du script

Comme cela, elles seront lu à chaque fois et tu gagneras quelques lignes de code

De plus, tu peux simplifier cela comme ça :

print("-" * 30)
choice = ""


Et le 3ème point, c'est juste une remarque personnelle pour améliorer le code

Ce serait de tester si l'élément existe déjà avant de l'ajouter dans la liste

Ceci pour éviter d'avoir plusieurs fois le même éléments dans la liste


Voilà, rien de bien méchant selon moi

Bonne continuation

Romuald

Merci pour ce retour :)

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.