Python Tutorials

Maîtriser la boucle While en Python : Guide complet

Spread the love

La boucle while est un outil puissant en Python pour contrôler le flux de vos programmes. Contrairement aux boucles for, qui itèrent sur une séquence définie, les boucles while continuent l’exécution tant qu’une condition spécifiée reste vraie. Cela les rend particulièrement utiles lorsque le nombre d’itérations est inconnu à l’avance.

Table des matières

Structure de base d’une boucle While

La syntaxe fondamentale d’une boucle while est simple :


while condition:
    # Code à exécuter répétitivement
    # ...

La condition est évaluée avant chaque itération. Si elle est évaluée à True, le bloc de code indenté est exécuté. Si elle est évaluée à False, la boucle se termine et le programme continue avec les instructions suivant la boucle.

Contrôle de l’exécution de la boucle : break et continue

Les instructions break et continue offrent un contrôle précis sur le comportement de la boucle :

  • break : quitte immédiatement la boucle, quelle que soit la condition.
  • continue : saute le reste de l’itération actuelle et passe à l’itération suivante.

count = 0
while count < 5:
    count += 1
    if count == 3:
        continue  # Sauter l'affichage de 3
    print(count)

while count < 10:
    count += 1
    if count == 7:
        break  # Sortir de la boucle lorsque count vaut 7
    print(count)

La construction while-else

La boucle while de Python prend en charge de manière unique un bloc else facultatif. Ce bloc else ne s’exécute que si la boucle se termine *naturellement*, c’est-à-dire lorsque la condition de la boucle devient False. Il est crucial de noter que le bloc else n’est *pas* exécuté si la boucle est terminée à l’aide d’une instruction break. Cela fournit un moyen clair de gérer les situations où vous devez effectuer une action uniquement lorsque la boucle se termine sans interruption.


count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("Boucle terminée normalement !")


count = 0
while count < 5:
    if count == 3:
        break
    print(count)
    count += 1
else:
    print("Boucle NON terminée normalement !") # Ceci ne s'affichera pas

Exemples pratiques

Voici quelques exemples illustrant les utilisations pratiques des boucles while :

Exemple 1 : Validation de la saisie utilisateur


while True:
    try:
        age = int(input("Entrez votre âge : "))
        if age >= 0:
            break  # Quitter la boucle si un âge valide est entré
        else:
            print("L'âge ne peut pas être négatif.")
    except ValueError:
        print("Saisie invalide. Veuillez entrer un nombre.")

print(f"Votre âge est : {age}")

Exemple 2 : Simulation d’un compte à rebours


import time

countdown = 10
while countdown > 0:
    print(countdown)
    time.sleep(1)  # Pause pendant 1 seconde
    countdown -= 1
print("Décollage !")

Éviter les boucles infinies

Un piège courant avec les boucles while est de créer une boucle infinie, c’est-à-dire une boucle qui ne se termine jamais. Cela se produit généralement lorsque la condition de la boucle ne devient jamais False. Assurez-vous toujours que votre condition de boucle finira par être évaluée à False. Examinez attentivement la logique de votre boucle et assurez-vous que les variables affectant la condition sont mises à jour correctement dans le corps de la boucle.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *