dans cette leçon, vous allez apprendre à contrôler le flux d’exécution à l’intérieur d’une boucle avec break, continue et l’instruction spéciale else qui s’exécute si la boucle se termine normalement.
objectifs
- interrompre une boucle immédiatement avec
break - sauter le reste d’une itération avec
continue - comprendre le fonctionnement de
elseavecforetwhile - combiner ces outils pour créer des recherches ou validations
break : sortir de la boucle
break stoppe la boucle en cours, quelle que soit la condition.
for n in range(10):
if n == 5:
break
print(n)
# affiche 0 à 4
dans un while :
while True:
cmd = input("> ")
if cmd == "quit":
break
print(f"vous avez tapé {cmd}")
continue : passer à l’itération suivante
continue ignore le reste du bloc courant et passe au suivant.
for n in range(6):
if n % 2:
continue # saute les impairs
print(n)
else sur une boucle
le bloc else après un for ou while s’exécute uniquement si la boucle termine sans exécuter break.
recherche avec confirmation :
target = 7
for n in [1, 3, 7, 9]:
if n == target:
print("trouvé")
break
else:
print("absent")
équivalent avec while :
n = 0
while n < 5:
if n == 3:
break
n += 1
else:
print("fini sans break")
motifs courants
- recherche : boucle avec
breakquand trouvé,elsesinon - validation :
continuepour ignorer les cas non pertinents - lecture :
while True+breakpour arrêter à une condition
bonnes pratiques
- utilisez
breakpour les conditions de sortie précises - évitez les
breakmultiples dispersés, cela nuit à la lisibilité - n’utilisez pas
elsesi cela rend le code moins clair, préférez un flag explicite dans certains cas
mini exemples exécutables
# filtrage avec continue
nums = [0, 5, -3, 8, -1]
for n in nums:
if n < 0:
continue
print(n)
# recherche avec else
data = [2, 4, 6]
search = 5
for val in data:
if val == search:
print("trouvé")
break
else:
print("non trouvé")
# boucle interactive
while True:
msg = input("message (stop pour quitter) : ")
if msg.lower() == "stop":
break
if not msg.strip():
continue
print("vous avez dit :", msg)
pièges courants
- croire que
elseaprès une boucle est toujours exécuté → non, il saute sibreakest appelé - utiliser
continuesans que la condition soit claire → risque de sauter du code important breakdans des boucles imbriquées : il ne sort que de la boucle la plus proche (utiliser un flag ou une fonction pour sortir de plusieurs)
exercices
-
recherche premier pair dans une liste, trouvez le premier nombre pair et affichez-le, sinon affichez
"aucun pair". -
filtrage positif à partir d’une liste, affichez uniquement les nombres positifs avec
continue. -
jeu de devinette générez un nombre secret (1 à 10), bouclez jusqu’à ce que l’utilisateur trouve (
break), affichez"bravo"et le nombre d’essais. -
validation de données parcourez une liste de chaînes, ignorez celles qui sont vides ou seulement des espaces (
continue), affichez les autres. utilisezelsepour afficher"aucune donnée valide"si tout est ignoré. -
lecture fichier lisez un fichier ligne par ligne, arrêtez la lecture si une ligne contient
"STOP", sinon affichez les lignes, et affichez"fichier terminé"siSTOPn’est jamais trouvé.