1.3Boucles (for, while) & compréhensions
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.
En Python, à quoi sert l'indentation ?
En pratique — Itérer avec for, while et comprehensions
- 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.
- Écrivez une boucle while qui redemande un mot de passe jusqu'à ce qu'il soit correct (attention à faire évoluer la condition).
- Utilisez break pour arrêter une boucle dès qu'une condition survient, et continue pour sauter les nombres pairs.
- 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é.
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é.