5.1 Boucle while
Objectifs d'apprentissage
À la fin de cette section, vous devriez être en mesure de :
- Expliquer la structure de boucle en Python.
- Utiliser une boucle
whilepour implémenter des tâches répétitives.
Boucle while
Une boucle while (while loop) est une structure de code qui exécute un ensemble d'instructions, appelé le corps de la boucle, tant qu'une condition donnée, appelée l'expression de boucle, est vraie. À chaque itération, une fois l'instruction de boucle exécutée, l'expression de boucle est réévaluée.
- Si elle est vraie, le corps de la boucle s'exécutera au moins une fois de plus (ce qui est également appelé boucler ou itérer une fois de plus).
- Si elle est fausse, l'exécution de la boucle prendra fin et l'instruction suivante après le corps de la boucle sera exécutée.
Concepts en pratique
Exemple de boucle while
La suite de Fibonacci est une suite de nombres dans laquelle chaque nombre est la somme des deux nombres précédents. La suite de Fibonacci commence par 1, 1, 2, 3, . . . . Considérez le code suivant qui affiche tous les nombres de Fibonacci inférieurs à 20, puis répondez aux questions suivantes.
# Initializing the first two Fibonacci numbers
f = 1
g = 1
print (f, end = ' ')
# Running the loop while the last Fibonacci number is less than 20
while g < 20:
print(g, end = ' ')
# Calculating the next Fibonacci number and updating the last two sequence numbers
temp = f
f = g
g = temp + g
Compter avec une boucle while
Une boucle while peut être utilisée pour compter de manière croissante ou décroissante. Une variable compteur peut être utilisée dans l'expression de boucle pour déterminer le nombre d'itérations exécutées. Ex. : Un programmeur peut souhaiter afficher tous les nombres pairs compris entre 1 et 20. Cette tâche peut être accomplie en utilisant un compteur initialisé à 1. À chaque itération, la valeur du compteur est incrémentée d'une unité, et une condition peut vérifier si la valeur du compteur est un nombre pair ou non. La modification de la valeur du compteur à chaque itération est appelée le pas (step size). Le pas peut être n'importe quelle valeur positive ou négative. Si le pas est un nombre positif, le compteur compte dans l'ordre croissant, et si le pas est un nombre négatif, le compteur compte dans l'ordre décroissant.
Exemple 5.1
Un programme affichant tous les nombres impairs entre 1 et 10
# Initialization
counter = 1
# While loop condition
while counter <= 10:
if counter % 2 == 1:
print(counter)
# Counting up and increasing counter's value by 1 in each iteration
counter += 1
Concepts en pratique
Exemples de comptage avec la boucle while
À partir du code fourni, répondez aux questions suivantes.
n = 4
while n > 0:
print(n)
n = n - 1
print("value of n after the loop is", n)
À vous d'essayer
Lecture d'entrées dans une boucle while
Écrivez un programme qui lit les entrées de l'utilisateur dans une boucle while jusqu'à ce que l'utilisateur saisisse "begin". Testez le code avec les valeurs d'entrée fournies pour vérifier que la boucle ne se termine pas tant que l'entrée n'est pas "begin". Une fois l'entrée "begin" reçue, affichez "The while loop
condition has been met.".
Saisissez différents mots en entrée pour voir quand la condition de la boucle while est satisfaite.
À vous d'essayer
Somme des nombres impairs
Écrivez un programme qui lit deux valeurs entières, n1 et n2. Utilisez une boucle while pour calculer la somme des nombres impairs compris entre n1 et n2 (en incluant n1 et n2). Rappelez-vous qu'un nombre est impair si number % 2 != 0.