Introduction
I. La ferme de Gaston - version 1⚓︎
Gaston possède des lapins, des vaches, des cochons et des chevaux. Il désire créer un "document" (en python 😊) lui permettant de gérer le nombre fluctuant d'animaux. Par exemple, il doit noter qu'il possède 5 lapins, 7 vaches, 2 cochons et 4 chevaux.
Comment peut-il faire ? Quelle structure python que vous connaissez va-t-il pouvoir utiliser ?
Solution
- On peut imaginer utiliser deux listes :
- On peut imaginer utiliser des listes de listes comme par exemple :
- On peut aussi imaginer utiliser des listes de tuples comme par exemple :
- Vous avez peut-être eu d'autres idées encore ... 😊
🖐️ Dans ce cas-là, appelez votre professeur pour lui montrer. Il voudra peut-être le partager avec toute la classe ...
Aidez Gaston
Finalement, Gaston a choisi la liste de listes
Mais il est distrait, il n'a pas la liste sous les yeux, et ne sait plus dans quel ordre il a mis les animaux dans la liste.Aidez le à écrire les instructions qui permettent de retrouver qu'il a 7 vaches. Pour cela, compléter la fonction suivante :
II. La ferme de Gaston - version 2⚓︎
Gustave vient d'expliquer à Gaston, son ami, qu’il peut utiliser une structure appelée "dictionnaire". L'efficacité d'une recherche, ou d'un accès dans un dictionnaire est bien supérieure à celle qu'on obtiendrait avec une liste de liste. C'est un des intérêts majeurs de cette nouvelle structure.
Voilà comment on construit le dictionnaire ferme_gaston
:
ferme_gaston = {"lapin": 5, "vache": 7, "cochon": 2, "cheval": 4}
Cela permet d'associer à chaque animal, par exemple à "vache", le nombre correspondant. Dans cet exemple "vache" s'appelle une clé et 7 est la valeur qui lui est associée.
Dictionnaire : premiers éléments
Un dictionnaire est constitué de paires clé : valeur.
Il s'écrit avec des accolades {clé : valeur …}
Question
Donner une autre clé du dictionnaire ferme_gaston
, et la valeur qui lui est associée.
Solution
- Pour la clé "lapin", la valeur associée est 5
- Pour la clé "cochon", la valeur associée est 2
- Pour la clé "cheval", la valeur associée est 4
Aider Gaston à retrouver la mémoire
Tester le script ci-dessous, et ajouter vos propres essais :
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
III. Gaston achète des lapins⚓︎
Gaston vient d'acheter 6 lapins. Il décide donc de modifier son dictionnaire.
Tester ci-dessous :
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Question
Que s'est-il passé ?
Solution
Dans un dictionnaire, il ne peut pas y avoir deux clés identiques. Python n'en a gardé qu'une ...
Dictionnaire : précisons
Un dictionnaire est constitué de paires clé : valeur.
Chaque clé est présente de façon unique dans le dictionnaire.
Un dictionnaire s'écrit avec des accolades {clé : valeur …}.
IV. Gaston met à jour son dictionnaire⚓︎
Gaston a bien compris qu'il ne pouvait pas y avoir deux clés identiques dans son dictionnaire.
Après avoir acheté ses lapins, il va donc tout simplement modifier son dictionnaire, avec l'aide de Gustave.
Tester ci-dessous
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Il aurait pu tout simplement rajouter 6 lapins. Tester ci-dessous
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
V. Gaston utilise un dictionnaire de secours⚓︎
Gaston est parti vérifier qu'il ne manquait pas d'animaux dans sa ferme, mais il a oublié son dictionnaire chez lui.
Gustave est toujours là, et lui fournit un dictionnaire qu'il a reconstitué de mémoire : ferme_gaston_secours
Les dictionnaires suivants sont-ils identiques ?
ferme_gaston = {"lapin": 11, "vache": 7, "cochon": 2, "cheval": 4}
etferme_gaston_secours = {"cochon": 2, "lapin": 11, "cheval": 4, "vache": 7}
Tester ci-dessous
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Dictionnaire : précisions supplémentaires
Un dictionnaire est un ensemble non ordonné de couples (clé, valeur).
Chaque clé est présente de façon unique dans le dictionnaire.
Un dictionnaire s'écrit avec des accolades {clé : valeur …}.
VI. Gaston part au marché⚓︎
Gaston veut acheter des pommes et des poires au marché. Il est très méthodique, et très fier d'avoir appris à utiliser les dictionnaires Python. Il décide donc de constituer un dictionnaire dans lequel il va noter, au fur et à mesures qu'il les voit sur les étalages, les différentes variétés de pommes et de poires, avec leur prix au kilo.
Question
Tester ci-dessous
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Que s'est-il passé ?
Les clés doivent être de type immuable (non "mutable" en anglais). On ne peut pas choisir des listes comme clés.
Aidez Gaston
Créer un dictionnaire valide, avec les renseignements notés par Gaston.
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Solution
Il y a plusieurs possibilités :
Dictionnaire : encore plus de précisions
Un dictionnaire est un ensemble non ordonné de couples (clé, valeur) notés clé : valeur
.
Chaque clé est présente de façon unique dans le dictionnaire.
Un dictionnaire s'écrit avec des accolades {clé : valeur …}.
Les clés doivent être de types immuables (ne peuvent pas être modifiées).
🌵 On peut donc choisir comme clé des nombres, des chaînes de caractères, des tuples d'éléments de types immuables, mais jamais des listes ni des dictionnaires.
😊 En revanche, une valeur peut être de n'importe quel type : nombre, liste, chaine de caractères, tuple, ou même dictionnaire.
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)