Écrire une boucle for ou while en Python
Boucles bornées et non bornées · par Équipe TocTocProf
Une boucle répète des instructions. La boucle bornée for fait un nombre de tours connu à l’avance. La boucle non bornée while tourne tant qu’une condition est vraie, sans savoir à l’avance combien de fois. Toutes les sorties ci-dessous ont été obtenues en exécutant les programmes avec Python 3.
Méthode
- Si tu sais combien de tours faire, utilise
for; si tu attends qu’une condition change, utilisewhile. for i in range(a, b)fait tournerideaàb - 1: la bornebn’est jamais atteinte.- Avant un
while, donne une valeur de départ à la variable que teste la condition. - Dans le
while, modifie cette variable à chaque tour, sinon la boucle ne s’arrête jamais. - Indente de 4 espaces ce qui doit être répété, puis vérifie à la main le premier tour, le deuxième et le dernier.
Exemple résolu
Somme des entiers de 1 à 10 : on sait qu’il y a 10 tours, on prend for.
total = 0
for i in range(1, 11):
total = total + i
print(total)
55
Une population de 100 bactéries double chaque heure. Au bout de combien d’heures dépasse-t-elle 10 000 ? On ne connaît pas le nombre de tours : on prend while.
bacteries = 100
heures = 0
while bacteries <= 10000:
bacteries = bacteries * 2
heures = heures + 1
print(heures, bacteries)
7 12800
Vérification à la main : 200, 400, 800, 1 600, 3 200, 6 400, puis 12 800 à la septième heure.
Exercices corrigés
Exercice 1
Afficher la table de 7, de à .
Corrigé. Dix tours connus à l’avance : une boucle for.
for i in range(1, 11):
print(7, "x", i, "=", 7 * i)
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70
Exercice 2
Que fait ce programme ? Prévois l’affichage avant de l’exécuter.
n = 0
for i in range(3, 12, 2):
n = n + 1
print(n, i)
Corrigé. range(3, 12, 2) donne 3, 5, 7, 9, 11 : la boucle fait 5 tours, et i vaut 11 au dernier.
5 11
Exercice 3
On place 500 € à 2 % par an. Au bout de combien d’années le capital atteint-il au moins 600 € ?
Corrigé. On ne sait pas combien d’années il faut : une boucle while, qui tourne tant que le capital est sous 600 €.
capital = 500
annees = 0
while capital < 600:
capital = capital * 1.02
annees = annees + 1
print(annees, round(capital, 2))
10 609.5
Il faut 10 ans ; le capital vaut alors environ 609,50 €.
Erreurs fréquentes
- Oublier que
ranges’arrête avant la borne. Avecrange(1, 10)dans l’exemple, le programme affiche45: il manque 10. - Une boucle
whilequi ne s’arrête pas. Si on oublie la lignebacteries = bacteries * 2, la condition reste vraie à chaque tour et le programme tourne sans fin. - Mettre
printdans la boucle. Indenté sous lefor,print(total)s’affiche à chaque tour. Avecrange(1, 5), on obtient1,3,6,10sur quatre lignes au lieu du seul total. - Écrire la condition à l’envers. Avec
while bacteries > 10000, la condition est fausse dès le départ : la boucle ne tourne jamais et le programme affiche0 100.
Toujours bloqué ?
Décris ton exercice : un étudiant en école d’ingénieurs te propose son aide en visio.
Le programme de SNT en seconde · Toutes les fiches
Source : Programme de sciences numériques et technologie de seconde générale et technologique (Bulletin officiel spécial n° 1 du 22 janvier 2019), lu le 21 octobre 2026.