Choisir entre les boucles for et les boucles while
Note
Pour plus d’informations, consultez l’onglet Texte et images !
Les programmes deviennent plus utiles lorsqu’ils peuvent automatiser des tâches répétitives. Au lieu d’écrire le même code, vous pouvez utiliser une boucle pour répéter automatiquement un bloc de code.
Python a deux types de boucles : for boucles et while boucles. Le choix de celui qui convient varie selon que vous savez combien de fois répéter à l’avance.
La boucle for (nombre de répétitions connu)
Utilisez une for boucle lorsque vous souhaitez répéter une action un nombre connu de fois, ou lorsque vous souhaitez parcourir chaque élément d’une collection.
Boucles avec range()
La fonction intégrée range() génère une séquence de nombres à parcourir dans une boucle :
for i in range(5):
print(i)
Output:
0
1
2
3
4
Notez que range(5) produit les nombres 0 à 4. La boucle s’exécute 5 fois et la variable i prend chaque valeur dans la séquence. La range() fonction commence à 0 par défaut et s’arrête avant le nombre que vous spécifiez (5 dans ce cas).
Vous pouvez personnaliser la séquence en fournissant jusqu’à trois paramètres : range(start, stop, step). La boucle s’arrête avant d’atteindre la cible d’arrêt :
for number in range(1, 10, 2): # Start at 1, stop before 10, step by 2
print(number)
Output:
1
3
5
7
9
Boucle while
Utilisez une while boucle lorsque vous souhaitez répéter quelque chose tant qu’une condition reste True. Vous pouvez l’utiliser lorsque vous ne savez pas combien de fois vous devrez répéter l’action à l’avance.
health = 3
while health > 0:
print(f"Player is alive. Health: {health}")
health -= 1 # Modify the condition so the loop will eventually stop
Output:
Player is alive. Health: 3
Player is alive. Health: 2
Player is alive. Health: 1
Éviter les boucles infinies
Une while boucle inspecte sa condition avant chaque itération. Si la condition est toujours True, la boucle ne s’arrête jamais. Ce comportement est appelé une boucle infinie et fige votre programme.
Assurez-vous toujours que votre code met à jour la condition afin qu’elle devienne éventuellement False. Dans l’exemple ci-dessus, nous avons soustrait 1 de health à chaque itération de la boucle. Lorsqu’elle health est atteinte à 0, la condition est devenue False, et la boucle s’est arrêtée.
Choix de la boucle appropriée
Choisissez une boucle for quand :
- Vous savez combien de fois vous souhaitez répéter l’action.
- Vous voulez une sortie automatique après un certain nombre de répétitions.
- Vous souhaitez qu’une variable de compteur effectue le suivi du nombre de exécutions de la boucle.
Choisissez une boucle while quand :
- Le nombre total de répétitions dépend d’un état variable.
- Vous attendez que quelque chose de spécifique se produise avant d’arrêter la boucle (par exemple, l’entrée utilisateur).
- Vous devez contrôler quand la boucle s’arrête, plutôt qu’un nombre fixe de répétitions.