☀️ Stage Pré-rentrée · dès le 24 aoûtRéserver ma place →
Majorant
📘 Fiche de cours · 1re année📐 MPSI💻 Informatique Informatique communeNiveau · Terminale → Sup

Boucles for et while

Répéter une action : boucle for avec range, boucle while qui termine, et le motif de l'accumulateur (somme, compteur) — avec table de trace, pièges et exercices corrigés.

Fiche rédigée par les mentors Majorant — alumni Polytechnique, CentraleSupélec et Mines Paris.

1 définitionsMis à jour le 2026-08-02

Vue d'ensemble

Répéter une action, c'est le cœur de l'algorithmique. Python offre deux boucles : for quand on connaît le nombre de répétitions (ou qu'on parcourt une collection), et while quand on répète tant qu'une condition est vraie. Savoir choisir la bonne, la faire progresser et éviter la boucle infinie : voilà les réflexes que cette fiche installe.

Objectif passerelle Terminale → Sup — Écrire une boucle for avec range, une boucle while qui termine, et le motif de l'accumulateur (somme, comptage).

Prérequis

  • Variables, types et expressions
  • Conditions et booléens (pour la condition d'un while)
🎯 Accompagnement Majorant

Tu « ne vois pas » ce que fait une boucle tour après tour ? C'est le point de bascule de la programmation. Nos mentors alumni X · Centrale · Mines t'entraînent à dérouler une boucle à la main jusqu'à ce que ça devienne un réflexe.

Trouver un mentor →

1. La boucle for et range

Définition 1.1 — Boucle for

for i in range(...) répète le bloc indenté en donnant à i des valeurs successives. range(n) produit les entiers de 0 à n − 1 (donc n valeurs, mais n est exclu).

for i in range(4):
    print(i)          # affiche 0, puis 1, puis 2, puis 3

# range(a, b)     : de a à b-1
# range(a, b, p)  : de a à b-1 par pas de p
for k in range(2, 11, 2):
    print(k)          # 2, 4, 6, 8, 10
🔍 Décryptage
range(4)0, 1, 2, 3. Quatre valeurs, mais 4 est exclu. C'est la source d'erreur n°1 : range(4) ne contient pas 4.
range(2, 11, 2)Début, fin exclue, pas. On part de 2, on avance de 2 en 2, on s'arrête avant 11 : 2, 4, 6, 8, 10.

2. La boucle while

while condition: répète le bloc tant que la condition est vraie. Il faut que quelque chose change à chaque tour pour que la condition finisse par devenir fausse, sinon la boucle tourne à l'infini.

n = 1
while n <= 5:
    print(n)
    n = n + 1      # SANS cette ligne : boucle infinie
print("fini")
🔍 Décryptage ligne par ligne
n = 1Initialisation. On prépare la variable testée par la boucle.
while n <= 5:Test avant chaque tour. Si n <= 5 est vrai, on exécute le bloc ; sinon on sort. Ici la boucle affiche 1, 2, 3, 4, 5.
n = n + 1La progression. Sans cette mise à jour, n resterait à 1 et la condition serait toujours vraie : boucle infinie.
⚠ La boucle infinie. Toute boucle while doit modifier, dans son corps, une variable qui rapproche la condition de « faux ». Si tu oublies n = n + 1, le programme ne s'arrête jamais.

3. Le motif de l'accumulateur

Pour additionner ou compter, on utilise une variable « accumulateur » initialisée avant la boucle et mise à jour à chaque tour. Exemple : la somme 1 + 2 + 3 + 4.

somme = 0
for i in range(1, 5):
    somme = somme + i
print(somme)      # 10
Exécution pas à pas de l'accumulateur
Tourisomme avantsomme après
1101
2213
3336
44610
📝 Le compteur. Même idée pour compter : on part de 0 et on fait compteur = compteur + 1 à chaque élément qui vérifie une condition.

4. Exercices d'application

À faire de tête avant d'ouvrir le corrigé.

Exo 1Prévoir l'affichageFacile
for i in range(3):
    print(i * i)
Voir la correction détaillée
range(3) donne i = 0, puis 1, puis 2 (3 est exclu).
À chaque tour on affiche i * i : 0, puis 1, puis 4.
Affichage sur trois lignes : 0, 1, 4.
Exo 2Compter avec whileIntermédiaire

Combien de fois peut-on diviser 100 par 2 (division entière) avant d'atteindre 0 ? Complète :

n = 100
c = 0
while n > 0:
    n = n // 2
    c = c + 1
print(c)
Voir la correction détaillée
n suit la suite : 100 → 50 → 25 → 12 → 6 → 3 → 1 → 0.
On compte 7 divisions pour passer de 100 à 0.
Affichage : 7. (C'est l'ordre de grandeur de — le même raisonnement que la dichotomie.)

Récap final — Ce qu'il faut absolument retenir

Tu dois pouvoir répondre « oui » sans hésiter à chaque point.

  • Sais-tu que range(n) va de 0 à n − 1 (n exclu) ?
  • Sais-tu lire range(a, b, p) (début, fin exclue, pas) ?
  • Sais-tu quand choisir for (nombre de tours connu) plutôt que while (jusqu'à une condition) ?
  • Sais-tu pourquoi une boucle while doit modifier sa variable de test ?
  • Sais-tu reconnaître et écrire le motif de l'accumulateur (somme, compteur) ?
  • Sais-tu dérouler une boucle dans une table de trace ?

Débloque la fiche complète

Théorèmes, démonstrations à savoir refaire, méthodes-types et pièges de concours : crée ton compte gratuit pour tout lire. Une seule fois pour toutes les fiches et ressources Majorant.

Gratuit · vos données restent confidentielles.

Valide tes acquis

Quiz — Boucles

8 questions · une à la fois · seuil de maîtrise 80 %.

Informatique commune · Terminale → SupQuiz — Boucles for et whileQuestion 1 / 8
FacileChoix unique1 pt

Quelles valeurs prend i dans for i in range(4) ?

Sélectionne une réponse pour valider.

Fiches associées

📐 MPSI·Informatique

Recherche par dichotomie

La recherche dichotomique dans un tableau trié, expliquée ligne par ligne : code Python commenté, exécution pas à pas, preuve de terminaison et de correction (variant \(d-g\), invariant de boucle), version récursive et complexité \(O(\log n)\).

📐 MPSI·Informatique

Variables, types et affectations

Les briques de base de Python pour bien démarrer la prépa : affectation, types int/float/bool/str, conversions, opérateurs (/ // %), f-strings — avec les pièges classiques et deux exercices corrigés.

📐 MPSI·Informatique

Conditions et booléens

Faire choisir un programme : booléens, comparaisons, if / elif / else, rôle de l'indentation, et combinaison de conditions avec and / or / not — avec pièges et exercices corrigés.

📐 MPSI·Informatique

Fonctions : paramètres et valeurs de retour

Définir et appeler une fonction, comprendre paramètres et valeur de retour, et surtout ne jamais confondre return (renvoie) et print (affiche) — avec pièges et exercices corrigés.

📐 MPSI·Informatique

Listes et chaînes de caractères

Créer, indexer, parcourir et découper des listes et des chaînes ; comprendre qu'une liste est modifiable et une chaîne non — avec les pièges d'indices et deux exercices corrigés.

📐 MPSI·Informatique

Lire, tester et corriger un programme

Dérouler un programme à la main, reconnaître les patrons max / min / comptage / recherche, et tester un code sur ses cas limites — avec le piège du maximum initialisé à 0 et deux exercices corrigés.

Tu veux aller plus loin sur ce chapitre ?

Nos mentors alumni de Polytechnique, CentraleSupélec et Mines Paris t'accompagnent en cours particuliers — démonstrations détaillées, exos type concours, oraux blancs.

Trouver un mentor →