Bonjour a toutes et tous

Je suis novice total en python mais j'ai un petit projet perso que je voudrais mettre en oeuvre. J'ai lu "apprenez à programmer en python" de notre ami Vincent Le Goff mais j'avoue me trouver face à une difficulté que je vais tâcher de vous expliquer simplement.

J'ai créé une liste de plantes : gingembre, citron, curcuma... etc. Une fois la plante choisie, on peut lire sa fiche détaillée.

Je voudrais utiliser ces éléments de liste dans un menu à choix multiple : "pour le citron, tapez 2" etc

Je me suis dis qu'il suffisait de faire une liste de couples (2, "citron")...

Mais je sais que ma liste est amenée à évoluer et comme tout à chacun je n'ai pas envie de changer mes numéros parce que j'ai ajouté ou supprimé un élément...

(J'espère que je suis clair jusque là)

Donc mon idée est de créer un compteur qui part de 0 et s'incrémente de 1 à chaque fois qu'il existe un élément "plante" dans ma liste : i+=1

Seulement voilà :

- si je fais quelque chose comme while i.... quelle condition je mets derrière ?
- et comment je récupère ces infos pour en quelque sorte construire la liste avec les numéros que je désire ?

Après je me dis que je peux créer une fonction qui appellera cette liste "sur mesure" et que je pourrais intégrer cette fonction dans une boucle. Au lieu d'utiliser print j'utilise return avec la fonction qui m'affiche mes couples, et input pour le choix utilisateur.

J'ai essayé de poser ça sur papier mais c'est compliqué.

Je vous copie mon code pour vous aider :

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
# -*- coding :Latin -1 -*
import os
 
plantes = ["chou", "sureau", "gingembre", "citron"]
 
dictionnaire = ["vulnéraire", "apéritif"]
 
pathologie = ["colon irritable", "angine", "constipation"]
 
chou = ("Les variétés utilisées couramment sont le chou rouge et le chou vert.")
 
compteur=0
 
def fruitleg ():
 
def dico ():
 
def pathos ():
 
def accueil():
    # Affiche le menu d'accueil qui renvoie le choix de l'utilisateur
	print("1 : Dictionnaire des thermes techniques")
	print("2 : recherche par plante")
	print("3 : Recherche par pathologie")
    print("q : Quitter\n") # On saute une ligne
 
    return input("votre choix : ")
 
def nouvelle_recherche():
	#L'utilisateur a le choix de quitter ou de lancer une nouvelle recherche. Ce boolean permet de mettre fin ou non aux recherches
	input("veux-tu lancer une nouvelle recherche ? (O/N) :")
	if information == "N"
		return False
	True
 
information = True
#ce Drapeau permet de relancer la boucle après une recherche uniquement si la réponse est oui. Sinon, la boucle est stoppée.
 
print ("Bienvenue dans le guide pratique des plantes médicinales")
#Petit message d'accueil à l'attention du visiteur
 
while information:
#Etape 1 : récupérer le menu principal
	choix = accueil()
#Etape 2 : En fonction du choix utilisateur, l'opération est lancée	
	if choix == "1"
		return 
	elif choix == "2"
		return fruitleg
	else
		print ("Merci d'indiquer un choix valide")