Un avis pour améliorer mon code =D
Il fonctionne c'est super ! mais je me suis pris la tête avec enumerate()
au début je l'ai écrit ainsi:
for i, liste in enumerate(liste, start=1):
print(f"{i}. {liste}")
Je comprennais pas pour quoi j'avais une erreur après avoir tout vérifier !
ça a mit du temps mais j'ai compris ;) que j'avais besoin d'une "variable externe" > liste"d"
import sys
liste = []
print(" ### la liste de course ###")
while True:
print("""Choississez parmi les 5 options suivantes :
-------------------------------------------
1: Ajouter un élément à la liste
2: Retirer un élément à la liste
3: Afficher la liste
4: Vider la liste
5: Quitter""")
option = input("👉 Votre choix : ")
if option == "1": # ajouter
ajout = input("Entrez un élément à ajouter à la liste de course : ")
liste.append(ajout)
print(f"L'élément {ajout} a bien été ajouté à la liste")
elif option == "2": # retirer
retir = input("Que voulez vous retirer : ")
#if liste.count(retir) > 0:
if retir in liste:
liste.remove(retir)
print(f"L'élément {retir} a bien été retiré de la liste")
#elif liste.count(retir) == 0:
else:
print(f"L'élément {retir} ne fait pas partie de la liste.")
elif option == "3": # afficher
print("Voici le contenu de votre liste :")
for i, listed in enumerate(liste, start=1):
print(f"{i}. {listed}")
elif option == "4": # vider
liste.clear()
print("La liste a été vidé")
elif option == "5": # quitter
print("A bientôt ! 😉")
exit() # break
print("-"*50)
Bonjour,
Pour commencer, il serait bon d'ajouter des espaces pour aérer le code :
-
donc ajouter un saut de ligne juste après les imports
-
au dessus de
option = input("👉 Votre choix : ") -
à la fin, au dessus du
print("-"*50)
Au niveau du exit(), il serait bon d'utiliser le sys.exit() qui est importé en haut du script, car il faut savoir que exit() et sys.exit() sont deux méthodes différentes.
En l'occurrence, sys.exit() est conseillé pour un code mis en production alors que exit() ne doit servir que pour un développement temporaire.
Pour plus d'informations, voici un lien très intéressant sur les différentes façons de quitter son code : Python exit commands: quit(), exit(), sys.exit() and os._exit()
De plus, il est possible d'intégrer directement le "'À bientôt" en argument de exit(), cela évite le print() :
sys.exit("A bientôt ! 😉")
Au niveau de le série de if elif, il serait bon d'ajouter un else au cas où l'utilisateur réponde par un autre nombre qui ne ferait pas parti de la liste ou encore entrerait autre chose qui n'était pas du tout attendu comme un mot etc... La règle d'or c'est de ne jamais faire confiance à ce qu'entre l'utilisateur.
Donc :
else:
print("Votre choix n'est pas reconnu, veuillez recommencer !")
Au niveau de la dernière ligne print("-"*50), elle ne sert à rien car l'option 5 fait sortir du programme et n'exécutera jamais la ligne en dessous.
Il serait donc mieux de remplacer le exit() par un break afin sortir de cette boucle while infinie et passer à l'exécution du code du dessous :
elif option == "5": # quitter
print("A bientôt ! 😉")
break # break
print("-"*50)
Le reste du code est plutôt propre, peut être ajouter quelques "\n" par-ci par-là dans les print() pour aérer la présentation de l'interface par des sauts de lignes, mais cela n'est qu'un détail mineur et juste une expérience utilisateur.
Bravo en tout cas ! 🙂
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte