Créer un couple numéro / item à partir d'une liste
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:
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") |