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.