Cycles en Python

Un guide complet sur les cycles for, while, break, continue en Python, avec des exemples pratiques et des meilleures pratiques.

Qu'est-ce qu'un cycle en Python

In Python, un cycle (ou itération) est un construct de programmation qui permet d'exécuter un bloc de code de manière répétitive. Les cycles sont fondamentaux pour automatiser des tâches répétitives, traiter des listes de données, ou continuer une opération jusqu'à ce qu'une condition spécifique ne soit pas remplie.

Cycle for

Le cycle for en Python est le plus versatile et pythonique. Il est souvent utilisé avec la construction range() ou pour itérer sur des séquences comme des listes, des tuples, des chaînes de caractères.

# Cycle for avec range
for i in range(5):
print(i) # 0, 1, 2, 3, 4

# Itération sur une liste
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print(f"J'aime les {fruit} tl")

Cycle while

Le cycle while exécute un bloc de code tant qu'une condition reste vraie. Il est utile lorsque l'on ne connaît pas le nombre précis d'itérations.

compte = 0
while compte 5:
print(compte)
compte += 1 # incrémentation, sinon cycle infini !

Break et Continue

Les instructions break et continue contrôlent le flux des cycles. break interrompt immédiatement le cycle, tandis que continue saute le reste du corps du cycle et passe à l'itération suivante.

# Exemple avec break
for i in range(10):
if i == 5:
break # sort lorsque i atteint 5
print(i) # 0-4

# Exemple avec continue
for i in range(5):
if i == 2:
continue # saute i=2
print(i) # 0, 1, 3, 4

Cycles imbriqués

Les cycles peuvent être imbriqués pour gérer des structures bidimensionnelles comme des matrices ou des grilles.

# Matrice 3x3
matrice = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

for ligne in matrice:
for element in ligne:
print(element, end=' ')
print()

Cycles sur des dictionnaires

Python permet d'itérer sur des dictionnaires, en générant les clés, les valeurs ou les paires clé-valeur.

points = {"joueur1": 150, "joueur2": 200, "joueur3": 175}

for joueur, score in points.items():
print(f"{joueur}: {score} points")

Modèle de boucle imbriquée

Un modèle courant en programmation est la "boucle imbriquée" ou cycle annidé, qui est souvent utilisé pour :


Cycle infini et sécurité

Il est important d'éviter les cycles infinis. Assurez-vous toujours que les conditions de terminaison soient satisfaites :

# ❌ Erreur : cycle infini
x = 0
while True:
print(x)
# manque x += 1

# ✅ Corrigé
x = 0
while x 100:
print(x)
x += 10

Meilleures pratiques


Liens utiles


🔗 Ressources et Références

Libro Open Education Polito Wikipedia - Iterazione Python.org - Controllo Flusso MDN - Cicli di programma