Bonjour à tous,
Je débute sur Python et ai créer un petit programme liste de courses avec des fonctions d'ajout, suppression etc d'éléments dans une liste. Tout fonctionne comme je le souhaite mais j'ai tout de même un message d'exception.
Souhaitant que tout soit propre et conventionnel j'aimerai comprendre et debugger ceci.
J'en appelle à votre aide et vous remercie par avance.
Voici le code :
Et juste avant que cela se lance si je scrolle l'invité de commande je constate cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 liste = [] #Fonction ajouter un élément def ajouter(): element_ajout = "" while element_ajout == "": element_ajout = input("Quel est le nom de l'élément à ajouter ? ") else: liste.append(element_ajout) print(f"L'élément {element_ajout} a bien été ajouté à la liste.") liste_courses() #Fonction supprimer un élément def supprimer(): element_supprime = "" while element_supprime == "": element_supprime = input("Quel est le nom de l'élément à supprimer ? ") else: if element_supprime in liste: liste.remove(element_supprime) print(f"L'élément {element_supprime} a bien été supprimé de la liste.") else : print("Cet élément n'est pas dans la liste, voici les éléments de la liste :") for i in range(0, len(liste)) : print(f"{i+1} - {liste[i]}") liste_courses() #Fonction afficher liste de courses def afficher(): if liste == []: print("Votre liste est vide.") for i in range(0, len(liste)) : print("Voici le contenu de votre liste de courses: ") print(f"{i+1} - {liste[i]}") liste_courses() #Fonction vider la liste def vider(): vide = "" while vide == "": vide = input("Voulez-vous supprimer tous les éléments de la liste ? o/n ") if vide == "o": del liste[0:len(liste)] print("La liste a bien été vidée.") liste_courses() else: liste_courses() #Fonction quitter le programme def sortir(): sortir = "" while sortir == "": sortir = input("Voulez-vous vraiment quitter le programme ? o/n ") if sortir == "o": break print("A bientôt !") liste_courses() else: liste_courses() #Fonction du choix de l'action def liste_courses(): print("") print("Choisissez parmi les 5 options suivantes: ") print("1: Ajouter un élément à la liste") print("2: Supprimer un élément de la liste") print("3: Afficher les éléments de la liste") print("4: Vider la liste") print("5: Quitter") choix = "" while choix == "": choix = input("Quel est votre choix ? ") if choix == "1": ajouter() elif choix == "2": supprimer() elif choix == "3": afficher() elif choix =="4": vider() elif choix =="5": sortir() liste_courses()
Cependant le code se lance ensuite et fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Quel est le nom de l'élément à ajouter ? Traceback (most recent call last): File "c:\Users\Bob\Desktop\Python_exos\python_test.py", line 92, in <module> liste_courses() File "c:\Users\Bob\Desktop\Python_exos\python_test.py", line 79, in liste_courses ajouter() File "c:\Users\Bob\Desktop\Python_exos\python_test.py", line 9, in ajouter element_ajout = input("Quel est le nom de l'élément à ajouter ? ") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ KeyboardInterrupt
Merci beaucoup.
Partager