🔁 Les boucles
Une boucle permet de répéter automatiquement une série d'instructions. Sans boucle, il faudrait recopier plusieurs fois le même code. Les boucles permettent donc d'écrire des programmes plus courts, plus lisibles et plus faciles à maintenir. Les boucles sont particulièrement utiles lorsque l'on travaille sur :
- une série de nombres ;
- une liste de valeurs ;
- les lignes d'un tableau Excel ;
- des traitements répétitifs.
🤔 Pourquoi utiliser une boucle ?
Les deux exemples suivants produisent le même résultat :
print(1)
print(2)
print(3)
print(4)
print(5)
Peut être remplacé par :
for i in range(5):
print(i + 1)
La deuxième solution est plus courte et plus facile à modifier. Les boucles reposent sur le même principe que les conditions : les deux-points (:) annoncent un bloc d'instructions et l'indentation indique quelles lignes appartiennent à ce bloc.
🔁 La boucle while
La boucle while (tant que) répète des instructions tant qu'une condition reste vraie. La syntaxe générale est la suivante :
while condition:
instructions
Exemple :
compteur = 1
while compteur <= 5:
print(compteur)
compteur = compteur + 1
Résultat :
1
2
3
4
5
À chaque passage dans la boucle, la variable compteur est augmentée de 1. Lorsque la
condition compteur <= 5 devient fausse, la boucle s'arrête automatiquement.
⚠️ Attention aux boucles infinies ⚠️
Si la condition reste toujours vraie, la boucle ne se terminera jamais.
compteur = 1
while compteur <= 5:
print(compteur)
Dans cet exemple, compteur n'est jamais modifié. La condition reste donc toujours vraie
et la boucle devient infinie.
Attention : une boucle infinie peut bloquer le programme ou faire planter Excel.
↩️ La boucle for
La boucle for est la boucle la plus utilisée en Python. Elle permet de parcourir une série de valeurs automatiquement.
Utilisation avec range()
La fonction range() génère une suite de nombres.
for i in range(5):
print(i)
Résultat :
0
1
2
3
4
Le nombre 5 n'est pas inclus.
Début et fin
for i in range(1, 6):
print(i)
Résultat :
1
2
3
4
5
Pas d'incrémentation
Il est possible de définir un pas.
for i in range(0, 11, 2):
print(i)
Résultat :
0
2
4
6
8
10
Parcourir une liste
Les boucles for sont très souvent utilisées avec les listes.
animaux = ["Chien", "Chat", "Rat"]
for animal in animaux:
print(animal)
Résultat : À chaque passage dans la boucle, la variable animal reçoit automatiquement
l'élément suivant de la liste.
Chien
Chat
Rat
Parcourir une liste de listes
zoo = [["Girafe", 4], ["Singe", 10], ["Lion", 6]]
for enclos in zoo:
print(enclos)
Résultat :
['Girafe', 4]
['Singe', 10]
['Lion', 6]
Cette technique est particulièrement utile pour travailler sur des tableaux provenant d'Excel.
🛑 Interrompre une boucle
L'instruction break permet de quitter immédiatement une boucle.
for i in range(10):
if i == 5:
break
print(i)
Résultat : Dès que la valeur 5 est rencontrée, la boucle s'arrête.
0
1
2
3
4
↪️ Passer à l'itération suivante
L'instruction continue permet de sauter le reste des instructions de l'itération courante.
for i in range(5):
if i == 2:
continue
print(i)
Résultat : La valeur 2 n'est pas affichée car l'instruction continue passe directement à
l'itération suivante.
0
1
3
4
🟩 Les boucles et Excel
Les boucles sont particulièrement utiles avec les données provenant d'Excel. Lorsqu'une plage de cellules est transmise à une fonction Python, celle-ci est généralement convertie en liste de listes.
[["Thomas", 35], ["Brahim", 32], ["Anna", 18]]
Une boucle permet alors de traiter chaque ligne du tableau.
for ligne in tableau:
print(ligne)
Ou d'accéder directement aux colonnes, les boucles sont donc l'outil principal pour parcourir automatiquement les données d'un tableau Excel.
for ligne in tableau:
nom = ligne[0]
age = ligne[1]
print(f"{nom} a {age} ans")