Python

< Retour au module

Boucles

Boucles For

Les boucles foren Python sont utilisées pour répéter un bloc de code un nombre spécifique de fois ou pour itérer sur les éléments d'une collection. Par exemple, je vais reprendre mon exemple de pomodoro utilisé dans le module Swift, si je veux un pomodoro qui me permet de travailler pendant 15 minutes, puis de faire une pause de 5 minutes, le tout répété 4 fois, je peux le coder comme suit :

for session in range(1, 5):
    print(f"Session {session} : 15 minutes ...")
    print("Pause de 5 minutes ...")

Maintenant, j'ai une liste de films, je veux afficher chaque film de la liste. Voici comment je peux le faire :

lord_of_the_ring_trilogy = [
    "La Communauté de l'Anneau",
    "Les Deux Tours",
    "Le Retour du Roi"
]

Je veux afficher chaque film de la liste :

for film in lord_of_the_ring_trilogy:
    print(film)

Si je n'ai pas besoin de la valeur de l'élément, je peux utiliser un underscore _:

for _ in range(1, 5):
    print("Session 15 minutes ...")
    print("Pause de 5 minutes ...")

Boucles While

Les boucles whileen Python permettent d'exécuter un bloc de code tant qu'une condition est vraie. Voici un exemple simple :

compteur = 1
while compteur <= 5:
    print(f"Session {compteur} : 15 minutes ...")
    print("Pause de 5 minutes ...")
    compteur += 1

Dans cet exemple, la boucle continue tant que compteurest inférieur ou égal à 5. À chaque itération, nous incrémentons compteurde 1.

On peut voir aussi que pour cet exemple, la boucle whilen'est pas la plus adaptée, car on doit gérer manuellement l'incrémentation de compteur. Pour des itérations simples sur une séquence, la boucle forest généralement plus concise et plus facile à lire.

Sortir d'une boucle

Pour sortir d'une boucle avant qu'elle ne se termine naturellement, on peut utiliser l'instruction break. Par exemple, si je veux arrêter la boucle après 3 sessions :

nombre = 1

while nombre <= 5:
    print(nombre)

    if nombre > 3:
        break

    nombre += 1

Ce code affichera les nombres de 1 à 3, puis sortira de la boucle.

Ignorer une itération

Pour ignorer une itération spécifique d'une boucle, on peut utiliser l'instruction continue. Par exemple, si je veux afficher les nombres de 1 à 5, mais ignorer les nombres pairs :

for nombre in range(1, 6):

    if nombre % 2 == 0:
        continue

    print(nombre)

Ce code affichera uniquement les nombres impairs : 1, 3, 5.

Boucles imbriquées

Il est possible d'imbriquer des boucles pour traiter des structures de données plus complexes. Par exemple, si j'ai une liste de listes et que je veux afficher chaque élément :

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

for ligne in matrice:
    for element in ligne:
        print(element)

Ce code affichera chaque élément de la matrice, un par un, ligne par ligne.

Boucles Infinies

La boucle infinie ne se termine jamais, car la condition est toujours vraie. Exemple :

while True:
    print("Cette boucle ne s'arrêtera jamais !")

Pour éviter cela, on peut utiliser breakpour sortir de la boucle à un moment donné :

while True:
    reponse = input("Voulez-vous continuer ? (y/n) ")
    if reponse.lower() != "y":
        break