Comment vérifier si une boucle s'est terminée en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à déterminer si une boucle s'est terminée en Python. Cela implique de comprendre le fonctionnement des boucles for et d'explorer différentes techniques pour suivre la fin d'une boucle.

Vous commencerez par examiner un exemple de boucle for de base, en itérant sur une liste de fruits et en imprimant chacun d'eux. Ensuite, vous apprendrez à utiliser une variable indicateur (flag variable) pour suivre la progression de la boucle. Enfin, vous découvrirez comment utiliser la clause else en conjonction avec les boucles pour exécuter du code uniquement après la fin normale de la boucle.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/break_continue("Break and Continue") python/DataStructuresGroup -.-> python/lists("Lists") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} python/conditional_statements -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} python/for_loops -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} python/break_continue -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} python/lists -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} python/data_collections -.-> lab-559538{{"Comment vérifier si une boucle s'est terminée en Python"}} end

Apprenez le fonctionnement des boucles

Dans cette étape, vous apprendrez comment les boucles for s'exécutent en Python. Les boucles sont des éléments de base de la programmation qui vous permettent de répéter un bloc de code plusieurs fois. Comprendre le fonctionnement des boucles est essentiel pour écrire des programmes efficaces et performants.

Commençons par un exemple simple. Créez un fichier nommé loop_example.py dans votre répertoire ~/project en utilisant l'éditeur VS Code.

## loop_example.py
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Ce code itère sur une liste de fruits et affiche chaque fruit dans la console.

Pour exécuter ce script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python loop_example.py

Vous devriez voir la sortie suivante :

apple
banana
cherry

Analysons ce qui se passe dans le code :

  1. fruits = ["apple", "banana", "cherry"] : Cette ligne crée une liste nommée fruits contenant trois chaînes de caractères : "apple", "banana" et "cherry".
  2. for fruit in fruits: : Cette ligne lance une boucle for. La boucle itère sur chaque élément de la liste fruits. À chaque itération, l'élément actuel est assigné à la variable fruit.
  3. print(fruit) : Cette ligne se trouve à l'intérieur de la boucle. Elle affiche la valeur de la variable fruit dans la console.

La boucle s'exécute trois fois, une fois pour chaque fruit de la liste. Dans la première itération, fruit vaut "apple", donc "apple" est affiché. Dans la deuxième itération, fruit vaut "banana", donc "banana" est affiché. Dans la troisième itération, fruit vaut "cherry", donc "cherry" est affiché.

Maintenant, modifions le script pour inclure l'index de chaque fruit. Modifiez le fichier loop_example.py comme suit :

## loop_example.py
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

Dans ce code modifié, nous utilisons la fonction enumerate() pour obtenir à la fois l'index et la valeur de chaque élément de la liste.

Exécutez le script à nouveau :

python loop_example.py

Vous devriez voir la sortie suivante :

Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry

La fonction enumerate() renvoie une séquence de paires (index, élément). À chaque itération, l'index est assigné à la variable index, et l'élément est assigné à la variable fruit.

Comprendre le fonctionnement des boucles est essentiel pour écrire des programmes capables de traiter des collections de données. Dans les étapes suivantes, vous apprendrez des techniques plus avancées pour contrôler l'exécution des boucles.

Utiliser une variable indicateur (flag variable) pour suivre la fin d'une tâche

Dans cette étape, vous apprendrez à utiliser une variable indicateur (flag variable) pour suivre la fin d'une tâche au sein d'une boucle. Une variable indicateur est une variable booléenne (soit True, soit False) qui indique si une certaine condition a été remplie. C'est une technique courante pour contrôler le flux d'un programme.

Considérons un scénario où vous souhaitez rechercher un nombre spécifique dans une liste et arrêter la boucle dès que vous l'avez trouvé. Créez un fichier nommé flag_example.py dans votre répertoire ~/project en utilisant l'éditeur VS Code.

## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
found = False  ## Initialise la variable indicateur

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        found = True
        print(f"Found the target: {target}")
        break  ## Quitte la boucle

if found:
    print("Target found in the list.")
else:
    print("Target not found in the list.")

Dans ce code, nous initialisons une variable indicateur nommée found à False. La boucle itère sur la liste numbers. Si le nombre actuel est égal au target, nous définissons found sur True, affichons un message et quittons la boucle en utilisant l'instruction break. Après la boucle, nous vérifions la valeur de found. Si elle est True, nous affichons un message indiquant que le nombre cible a été trouvé. Sinon, nous affichons un message indiquant que le nombre cible n'a pas été trouvé.

Pour exécuter ce script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python flag_example.py

Vous devriez voir la sortie suivante :

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
Target found in the list.

Notez que la boucle s'arrête dès que le nombre cible (5) est trouvé. L'instruction break quitte la boucle, empêchant les itérations suivantes.

Maintenant, modifions le script pour rechercher un nombre qui n'est pas dans la liste. Changez la variable target en 15 :

## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
found = False  ## Initialise la variable indicateur

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        found = True
        print(f"Found the target: {target}")
        break  ## Quitte la boucle

if found:
    print("Target found in the list.")
else:
    print("Target not found in the list.")

Exécutez le script à nouveau :

python flag_example.py

Vous devriez voir la sortie suivante :

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.

Dans ce cas, la boucle itère sur toute la liste sans trouver le nombre cible. La variable found reste False, et le message "Target not found in the list." est affiché.

Utiliser une variable indicateur est un moyen simple et efficace de suivre la fin d'une tâche au sein d'une boucle. Cette technique est utile dans de nombreux scénarios différents, comme la recherche d'un élément dans une liste, la validation de l'entrée utilisateur ou le traitement de données à partir d'un fichier.

Utiliser la clause else avec les boucles

Dans cette étape, vous apprendrez à utiliser la clause else avec les boucles for en Python. La clause else dans une boucle for est exécutée lorsque la boucle se termine normalement, c'est-à-dire lorsque la boucle n'est pas interrompue par une instruction break. Cela peut être utile pour effectuer des actions qui ne doivent être faites que si la boucle se termine sans trouver un élément spécifique ou sans rencontrer une erreur.

Revoyons l'exemple de l'étape précédente, où nous avons recherché un nombre cible dans une liste. Nous pouvons utiliser la clause else pour afficher un message si le nombre cible n'est pas trouvé. Créez un fichier nommé else_example.py dans votre répertoire ~/project en utilisant l'éditeur VS Code.

## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        print(f"Found the target: {target}")
        break
else:
    print("Target not found in the list.")

Dans ce code, la clause else est associée à la boucle for. Si la boucle se termine sans trouver le target (c'est-à-dire que l'instruction break n'est pas exécutée), le code à l'intérieur de la clause else est exécuté.

Pour exécuter ce script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python else_example.py

Vous devriez voir la sortie suivante :

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.

Étant donné que le target (15) n'est pas dans la liste numbers, la boucle se termine normalement et la clause else est exécutée, affichant le message "Target not found in the list.".

Maintenant, modifions le script pour inclure le nombre cible dans la liste. Changez la variable target en 5 :

## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5

for number in numbers:
    print(f"Checking number: {number}")
    if number == target:
        print(f"Found the target: {target}")
        break
else:
    print("Target not found in the list.")

Exécutez le script à nouveau :

python else_example.py

Vous devriez voir la sortie suivante :

Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5

Dans ce cas, la boucle est interrompue par l'instruction break lorsque le target (5) est trouvé. Par conséquent, la clause else n'est pas exécutée.

La clause else dans une boucle for offre un moyen concis d'exécuter du code lorsque la boucle se termine normalement, sans être interrompue par une instruction break. Cela peut être utile pour gérer les cas où vous devez effectuer une action spécifique seulement si une certaine condition n'est pas remplie pendant l'exécution de la boucle.

Résumé

Dans ce laboratoire (lab), vous avez appris comment les boucles for s'exécutent en Python en itérant sur une liste de fruits et en affichant chaque fruit ainsi que son index. Le laboratoire a démontré la structure de base d'une boucle for, y compris l'utilisation de la fonction enumerate() pour accéder à la fois à l'index et à la valeur de chaque élément de la liste lors de l'itération.

L'exemple initial a itéré sur une liste de fruits et a affiché chaque fruit. La modification suivante a utilisé enumerate() pour afficher à la fois l'index et le fruit, illustrant ainsi comment accéder à la fois à la position et à la valeur des éléments au sein d'une boucle.