Objectif : Maîtriser les boucles (while / for).
ex00 — module3/ex00/manual_picker.py
Output :
$> python3 manual_picker.py
Appuyez sur Entrée pour ramasser un item.
Item ramassé ! : encore 4 au sol.
Appuyez sur Entrée pour ramasser un item.
Item ramassé ! : encore 3 au sol.
Appuyez sur Entrée pour ramasser un item.
Item ramassé ! : encore 2 au sol.
Appuyez sur Entrée pour ramasser un item.
Item ramassé ! : encore 1 au sol.
Appuyez sur Entrée pour ramasser un item.
Item ramassé ! : encore 0 au sol.
Tous les items ont été ramassés !
Objectif :
Utiliser une boucle while pour ramasser des items un par un.
Notions :
while | Opérateur -= | else
Questions :
- Qu'est-ce qu'une boucle
while? - Que signifie
-= 1? - Quand le bloc
elsed'unwhileest-il exécuté ?
ex01 — module3/ex01/gate_keeper.py
Output :
$> python3 gate_keeper.py
Quel est le code secret ? 10
Mauvais code ! Il vous reste 41 vie(s) !
Quel est le code secret ? 42
Bravo ! Vous avez trouvé le code secret !
Objectif : Gérer une boucle avec une condition de sortie.
Notions :
while | break | if / else
Questions :
- Qu'est-ce que
break? Est-ce une instruction ? - Quelle est la différence entre une boucle qui se termine naturellement et une qui utilise
break?
ex02 — module3/ex02/mirror_riddle.py
Output :
$> python3 mirror_riddle.py
Entrer le mot secret ? python
Mauvais mot ! Il vous reste 9 vie(s) !
...
Énigme résolue ! Bien joué !
Objectif :
Résoudre l'énigme — le mot de passe est : PyThOn.
Obligation d'utiliser .swapcase().
Questions :
- Comment le programme sait-il que la réponse est correcte ?
ex03 — module3/ex03/world_explorer.py
Output :
$> python3 world_explorer.py
Vie actuelle : 5
Choisissez : Chemin / Piège / Trésor ? Chemin
Vous avancez tranquillement sur le chemin. Il vous reste 5 vie(s) !
$> python3 world_explorer.py
Choisissez : Chemin / Piège / Trésor ? Piège
Aïe un piège ! Il vous reste 4 vie(s) !
$> python3 world_explorer.py
Choisissez : Chemin / Piège / Trésor ? Trésor
Félicitations ! Vous avez trouvé le trésor. Il vous reste 6 vie(s) !
Objectif : Gérer plusieurs cas dans une boucle avec des effets différents sur les vies.
Notions :
while | if / elif / else | .capitalize() | .strip()
Questions :
- À quoi sert la méthode
.strip()? - À quoi sert
.capitalize()? - Que se passe-t-il si l'utilisateur entre une valeur inconnue ?
ex04 — module3/ex04/growth_test.py
Output :
$> python3 growth_test.py
Jour 1 : Vous avez 3 plantes. Vous avez récolté 3 graines
Jour 2 : Vous avez 6 plantes. Vous avez récolté 6 graines
Jour 3 : Vous avez 12 plantes. Vous avez récolté 12 graines
Jour 4 : Vous avez 24 plantes. Vous avez récolté 24 graines
Objectif : Simuler la croissance sur plusieurs jours.
Notions :
for | range()
Questions :
- Qu'est-ce qu'une boucle
for? - Qu'est-ce que
range()et pourquoi l'utilise-t-on ? - Pourquoi le nombre de plantes double-t-il à chaque tour ?
ex05 — module3/ex05/crop_limit.py
Output :
$> python3 crop_limit.py
Jour 1 : Vous avez 1 plante. Vous avez récolté 2 graines
Jour 2 : Vous avez 3 plantes. Vous avez récolté 6 graines
...
Jour 10 : Vous avez 42 plantes. Vous avez récolté 84 graines
Objectif : Simuler la croissance avec une limite maximale de parcelles.
Notions :
for | range() | if | Variable
Questions :
- Qu'est-ce qu'une limite (cap) dans une simulation ?
- Que se passe-t-il quand le nombre de plantes dépasse la limite ?
- Pourquoi est-il important de contrôler la croissance ?
ex06 — module3/ex06/maturity_peak.py
Output :
$> python3 maturity_peak.py
BIENVENUE DANS LA SIMULATION
Jour 0 : Vous commencez avec 3 plantes !
Appuyez sur Entrée pour passer au jour suivant !
Jour 1 : 3 plantes | 3 graines récoltées | 0 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 2 : 6 plantes | 6 graines récoltées | 0 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 3 : 12 plantes | 12 graines récoltées | 0 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 4 : 24 plantes | 24 graines récoltées | 0 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 5 : 42 plantes | 42 graines récoltées | 6 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 6 : 42 plantes | 42 graines récoltées | 48 graines en stock
Appuyez sur Entrée pour passer au jour suivant !
Jour 7 : 42 plantes | 42 graines récoltées | 90 graines en stock
FIN DE LA SIMULATION
Objectif : Gérer un stock de surplus quand la limite de parcelles (42) est atteinte, avec interaction utilisateur.
Notions :
for | if / else | input() | < | <=
Questions :
- Qu'est-ce qu'un stock ? Comment gère-t-on le surplus ?
- Comment le programme sait-il qu'il doit stocker plutôt que planter ?
- Que représente la variable
espace_libredans le programme ?