Break et continue

5.4 Break et continue

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • Analyser l'exécution d'une boucle avec des instructions break et continue.
  • Utiliser les instructions de contrôle break et continue dans des boucles while et for.

Break

Une instruction break est utilisée dans une boucle for ou while pour permettre à l'exécution du programme de quitter la boucle lorsqu'une condition donnée est remplie. Une instruction break peut être utilisée pour réduire le temps d'exécution lorsqu'il n'est plus nécessaire de poursuivre l'exécution de la boucle.

Ex. : Une boucle qui recherche le caractère "a" dans une chaîne donnée appelée user_string. La boucle ci-dessous est une boucle for classique permettant de parcourir tous les caractères de user_string. Si le caractère est trouvé, l'instruction break fait sortir l'exécution de la boucle for. La tâche étant accomplie, le reste de l'exécution de la boucle for est ignoré.

    user_string = "This is a string."
    for i in range(len(user_string)):
      if user_string[i] == 'a':
        print("Found at index:", i)
        break

Faites le point

Instruction break dans une boucle while

Boucle infinie

Une instruction break est un élément essentiel d'une boucle dépourvue de condition de terminaison. Une boucle sans condition de terminaison est appelée une boucle infinie (infinite loop). Ex. : Une boucle infinie qui compte à partir de 1 et affiche la valeur du compteur tant que celle-ci est inférieure à 10. Une condition de break est déclenchée lorsque la valeur du compteur est égale à 10, ce qui met fin à l'exécution du programme.

    counter = 1
    while True:
      if counter >= 10:
        break
      print(counter)
      counter += 1

Concepts en pratique

Utilisation d'une instruction break

1.
Quelle est la sortie du code suivant ?
string_val = "Hello World"
for c in string_val:
  if c == " ":
    break
  print(c)
  1. Hello
  2. Hello World
  3. H
    e
    l
    l
    o
2.
Étant donné le code suivant, combien de fois l'instruction print est-elle exécutée ?
i = 1
while True:
  if i%3 == 0 and i%5 == 0:
    print(i)
    break
  i += 1
  1. 0
  2. 1
  3. 15
3.
Quelle est la valeur finale de i ?
i = 1
count = 0
while True:
  if i%2 == 0 or i%3 == 0:
    count += 1
  if count >= 5:
    print(i)
    break
  i += 1
  1. 5
  2. 8
  3. 30

Continue

Une instruction continue permet d'ignorer l'exécution du reste de la boucle sans quitter complètement la boucle. Une instruction continue peut être utilisée dans une boucle for ou while. Après l'exécution de l'instruction continue, l'expression de la boucle est de nouveau évaluée et la boucle reprend à partir de cette expression. Une instruction continue facilite le contrôle et la lisibilité de la boucle.

Faites le point

Instruction continue dans une boucle while

Concepts en pratique

Utilisation d'une instruction continue

4.
Étant donné le code suivant, combien de fois l'instruction print est-elle exécutée ?
i = 10
while i >= 0:
  i -= 1
  if i%3 != 0:
    continue
  print(i)
  1. 3
  2. 4
  3. 11
5.
Quelle est la sortie du code suivant ?
for c in "hi Ali":
  if c == " ":
    continue
  print(c)
  1. h
    i
    
    A
    l
    i
  2. h
    i
    A
    l
    i
  3. hi
    Ali

À vous d'essayer

Utilisation de l'instruction de contrôle break dans une boucle

Écrivez un programme qui lit une chaîne de caractères et affiche "Found" si la chaîne contient un espace. Sinon, il affiche "Not found".

À vous d'essayer

Utilisation d'une instruction continue dans une boucle

Complétez le code suivant afin que le programme calcule la somme de tous les nombres de la liste my_list qui sont supérieurs ou égaux à 5.