Combien de mois pour le casque ?
Tu veux un casque audio à 100 euros. Tu mets 30 euros de côté chaque mois.
Combien de mois faut-il ? Tu ne le sais pas encore. Tu continues tant que tu n’as pas assez.
Python sait faire pareil : répéter tant qu’une condition reste vraie.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| while | Mot de Python qui veut dire « tant que ». Il répète un bloc tant que la condition est vraie. | while epargne < 100: |
| Condition d’arrêt | Ce qui devient faux et qui met fin à la boucle. | epargne >= 100 |
| Compteur | Une variable qui compte les passages. | mois = mois + 1 |
| Boucle infinie | Une boucle qui ne s’arrête jamais. | La condition reste toujours vraie |
| Initialiser | Donner une première valeur à une variable avant la boucle. | mois = 0 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
for ou while ?
Avec for, tu sais d’avance combien de fois tu répètes. Dix tours de stade, c’est un for.
Avec while, tu ne le sais pas. Tu répètes tant que la condition est vraie, et tu arrêtes quand elle devient fausse.
Python teste la condition avant chaque passage.
À toi : épargner pour le casque
objectif = 100 # le prix du casque, en euros
par_mois = 30 # ce qu'on met de côté chaque mois
epargne = 0
mois = 0
while epargne < objectif:
epargne = epargne + par_mois
mois = mois + 1
print("Mois", mois, ":", epargne, "euros")
print("Il faut", mois, "mois.")
# Mets objectif = 200, puis par_mois = 10.
Exemple travaillé : objectif 100, 30 par mois
| Passage | epargne avant | epargne < 100 ? | epargne après |
|---|---|---|---|
| 1 | 0 | True | 30 |
| 2 | 30 | True | 60 |
| 3 | 60 | True | 90 |
| 4 | 90 | True | 120 |
| Test suivant | 120 | False | La boucle s’arrête |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Les trois choses à ne pas oublier
Une bonne boucle while a trois morceaux.
Un : on initialise les variables avant la boucle. Deux : on écrit une condition. Trois : dans le bloc, on change quelque chose, pour que la condition finisse par devenir fausse.
Contrôle rapide
À toi de jouer
Contrôle rapide
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
La boucle infinie
Si rien ne change dans la boucle, la condition reste vraie pour toujours. Le programme ne s’arrête plus.
C’est une boucle infinie. Ce n’est pas grave : appuie sur le bouton qui arrête le programme.
Puis cherche la variable qu’on a oublié de changer.
Une boucle infinie (ne la lance pas)
compteur = 1
while compteur < 5:
print("Je tourne...")
# Oups : compteur ne change jamais.
# compteur vaut toujours 1, donc la condition est toujours vraie.