1.3 · Boucles (for, while) & compréhensions

Niveau 1 · Bases du langage

1.3Boucles (for, while) & compréhensions

Objectif : itérer efficacement et découvrir les list comprehensions.
Temps estimé : 14 min

Répéter une action est le quotidien de la programmation. Python offre deux boucles : for (parcourir une séquence : liste, texte, plage de nombres) et while (répéter tant qu'une condition est vraie). Elles évitent de copier-coller cent fois la même instruction.

Vous découvrirez aussi les list comprehensions, une écriture concise et « pythonique » pour construire une liste en une ligne — l'une des signatures élégantes du langage. Bien utilisées, elles rendent le code plus court ET plus lisible.

Vocabulaire de la section

Boucle for
Répète un bloc pour chaque élément d'une séquence : for x in sequence.
range()
Génère une plage de nombres : range(5) → 0,1,2,3,4. Très utilisée avec for.
Boucle while
Répète un bloc TANT QUE la condition reste vraie. Risque de boucle infinie si la condition ne change jamais.
break / continue
break sort de la boucle immédiatement ; continue passe directement à l'itération suivante.
List comprehension
Écriture compacte : [expression for x in sequence if condition] construit une liste en une ligne.
Vérifiez votre compréhension

En Python, à quoi sert l'indentation ?

Boucles (for, while) & compréhensions
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos boucles & compréhensions Python (recherche FR)
Cliquer pour voir les résultats à jour ↗

En pratique — Itérer avec for, while et comprehensions

  1. Affichez les nombres de 1 à 10 avec « for i in range(1, 11) », puis leur carré. Ajoutez la table de multiplication d'un nombre saisi.
  2. Écrivez une boucle while qui redemande un mot de passe jusqu'à ce qu'il soit correct (attention à faire évoluer la condition).
  3. Utilisez break pour arrêter une boucle dès qu'une condition survient, et continue pour sauter les nombres pairs.
  4. Transformez une boucle qui construit une liste de carrés en une list comprehension : carres = [n**2 for n in range(10)]. Comparez la lisibilité.
Vous répétez des actions avec for et while, contrôlez le flux avec break/continue, et écrivez vos premières list comprehensions.

Points clés à retenir

  • for parcourt une séquence ; while répète tant qu'une condition est vraie.
  • range() génère des plages de nombres pour les boucles for.
  • break sort de la boucle ; continue passe à l'itération suivante.
  • Les list comprehensions construisent une liste en une ligne, de façon pythonique.

Questions fréquentes

Quand choisir for plutôt que while ?

Utilisez for quand vous connaissez ce que vous parcourez (une liste, une plage, un fichier). Utilisez while quand vous répétez jusqu'à une condition dont vous ignorez à l'avance le nombre d'itérations (ex. « tant que l'utilisateur ne quitte pas »).

Ma boucle while tourne sans fin, pourquoi ?

C'est une boucle infinie : la condition reste toujours vraie car rien ne la fait évoluer dans le bloc. Assurez-vous qu'une variable de la condition change à chaque tour. Ctrl+C interrompt un programme bloqué.

Autres ressources