Skip to content

Latest commit

 

History

History
185 lines (143 loc) · 5.24 KB

File metadata and controls

185 lines (143 loc) · 5.24 KB

Module 3

Objectif : Maîtriser les boucles (while / for).


ex00module3/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 else d'un while est-il exécuté ?

ex01module3/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 ?

ex02module3/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 ?

ex03module3/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 ?

ex04module3/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 ?

ex05module3/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 ?

ex06module3/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_libre dans le programme ?