Boucle while

Python SELF FR
Niveau 4 , Leçon 3
Disponible

9.1 Boucle conditionnelle

La boucle for est parfaite quand on sait exactement combien de fois on veut exécuter un bloc d'instructions dans notre boucle. Mais ce n'est pas toujours le cas. Environ la moitié du temps, il faut exécuter le bloc tant qu'une certaine condition (règle) est vraie.

C'est pourquoi en Python il y a la boucle while. Sa forme générale est encore plus simple que celle de la boucle for :


while condition:
    commande1 
    commande1 
    commandeN 

La boucle s'exécutera tant que condition sera vraie.

Important ! Pour éviter que la boucle ne s'exécute indéfiniment, il faut que quelque chose dans le bloc d'instructions affecte la condition. Pour que cette condition puisse devenir fausse un jour et que la boucle se termine.

Exemple :

Exemple Explication

count = 0
while count < 5:
    print(count)
    count += 1
La boucle affichera les nombres 0, 1, 2, 3, 4

Dans la boucle while, deux choses sont exécutées en boucle :

  • La condition est vérifiée.
  • Le bloc d'instructions est exécuté.

Si la condition est vraie, alors le bloc d'instructions s'exécute. Si soudainement la condition est fausse (même si le bloc n'a jamais été exécuté), alors la boucle se termine.

Un autre exemple de boucle while, combinée avec l'entrée d'une quantité inconnue de données par l'utilisateur :

Exemple Explication

user_input = ""
while user_input != "exit":
    user_input = input("Entrez 'exit' pour sortir : ")
    print(user_input)
La boucle imprimera à l'écran toutes les données, tant que l'utilisateur n'aura pas entré le mot "exit". Après cela, la boucle l'imprimera et se terminera.

9.2 L'opérateur break

En Python, l'opérateur break est utilisé pour arrêter immédiatement l'exécution d'une boucle while ou d'une boucle for. Cet opérateur s'avère extrêmement utile dans des situations où il est nécessaire de sortir de la boucle avant sa fin normale en fonction de la condition.

L'utilisation de break augmente la flexibilité de la gestion du flux d'exécution du programme, permettant de réagir aux conditions qui changent dynamiquement pendant l'exécution.

Utilisation principale :


for num in range(10):
    if num == 5:
        break   # Arrête la boucle dès que num atteint 5
    print(num)
        

Dans cet exemple, la boucle affichera les nombres de 0 à 4. Dès que num atteint 5, la boucle est interrompue par l'opérateur break.

Utilisation dans les boucles infinies :


while True:
    response = input("Entrez 'exit' pour sortir : ")
    if response == 'exit':
        break              

Ici, break est utilisé pour sortir de la boucle infinie quand l'utilisateur entre 'exit'.

L'opérateur break est également souvent utilisé pour interrompre l'exécution des boucles imbriquées, traiter des situations exceptionnelles où il est nécessaire d'arrêter immédiatement les actions, ainsi que pour interrompre les processus dans les applications multithread ou réseau.

Par exemple, dans les tâches de recherche ou de tri, où après avoir trouvé l'élément requis, il n'est plus nécessaire de continuer la boucle :


elements = [1, 2, 3, -99, 5]
# Recherche du premier élément négatif
for element in elements:
    if element < 0:
        print("Élément négatif trouvé : ", element)
        break              

Les meilleures pratiques incluent l'utilisation de break avec sagesse pour ne pas compliquer la logique du programme et la rendre difficile à comprendre. Une bonne pratique est de commenter les raisons de l'interruption de la boucle, surtout si elles ne sont pas évidentes du contexte.

L'utilisation de break doit être justifiée et raisonnable. Par exemple, pour améliorer la lisibilité et l'efficacité du code, et pas simplement pour "casser" la logique. Une utilisation efficace de cet opérateur peut considérablement améliorer la performance des programmes, surtout dans les algorithmes avec des calculs intensifs.

9.3 L'opérateur continue

L'opérateur continue en Python est un outil puissant pour gérer le flux d'exécution des boucles. Il saute le reste du code dans l'itération actuelle de la boucle et passe à l'itération suivante. Cet opérateur est souvent utilisé dans les boucles for et while pour sauter certaines conditions sans interrompre toute la boucle.

Principes de base de l'utilisation de l'opérateur continue

Voici comment fonctionne continue dans une boucle simple :


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

Dans cet exemple, la boucle n'affiche que les nombres impairs de 1 à 9. Chaque fois que i est pair (divisible par 2 sans reste), l'opérateur continue est déclenché, sautant l'appel de la fonction print() et passant à l'itération suivante.

Utilisation de continue dans des scénarios réels

Filtrage des données : continue peut être utilisé pour filtrer préalablement les données avant d'effectuer des opérations plus complexes dans la boucle.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # Sauter les chaînes vides
    print(fruit.capitalize())               

Sauter des conditions spécifiques : Particulièrement utile dans des situations où il faut sauter certains éléments basés sur des conditions complexes.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # Sauter les scores bas
        print("Félicitations, votre score : ", score)               

L'opérateur continue en Python offre un moyen élégant de simplifier le code et de le rendre plus lisible en sautant les éléments non pertinents dans les itérations. Une utilisation excessive de continue peut compliquer la compréhension des données traitées par la boucle, surtout dans des boucles complexes avec plusieurs conditions. Respectez un équilibre raisonnable.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION