Un panier au bout du bras, en pensée. La suite du discours sur la clé d'identification.
« Chaque automne, les forêts du Québec se couvrent de champignons, et chaque cueilleur porte dans sa tête le même outil que le médecin de tout à l'heure : une clé d'identification. Pas une liste de noms. Une suite de questions, où chaque réponse décide de la question suivante.
Des pores ou des lamelles ? Un sac à la base du pied ? Le chapeau est-il creux ? À chaque embranchement, la moitié des possibilités tombe. Et au bout de la dernière branche, une seule réponse reste : le nom du champignon, et surtout ce qu'on en fait.
Regardez la clé ci-dessous, puis regardez le code qui la suit. C'est le même arbre. Chaque question est un if, chaque réponse une branche, et la profondeur de l'indentation, c'est la profondeur dans la forêt. »
La clé, question par question
Cette clé est un exercice de logique, pas un guide de cueillette : elle ne connaît que dix espèces parmi des milliers, et deux champignons peuvent se ressembler à s'y méprendre. Pour manger un champignon sauvage, on le fait vérifier par un cercle de mycologues de sa région, jamais sur la foi d'une clé de dix questions.
La même clé, en Python
Le code ci-dessous n'a pas été écrit à part : il est produit à partir du même arbre que la clé, question par question. Chaque question devient un if, chaque « non » un else, et chaque champignon la valeur finale de la variable champignon. Répondez aux questions ci-dessus : les observations s'écrivent en tête du code et le chemin suivi s'allume.
Le dernier else, celui qui répond « inconnu de cette clé », est la branche la plus importante de l'arbre : c'est celle qui protège quand aucune question n'a reconnu le champignon.