Menu
Coddy logo textTech

Boucle While

Fait partie de la section Fundamentals du Journey Python de Coddy. Leçon 36 sur 77.

Une boucle while est différente de la boucle for. Une boucle for nous permet d'itérer sur un range spécifique, tandis qu'une boucle while nous permet de continuer à itérer tant qu'une certaine condition est remplie.

Pour utiliser une boucle while, écrivez :

while condition:
	code

Le code ne s'exécutera que si la condition est True.

La condition est généralement formée à l'aide d'opérateurs de comparaison tels que <= (inférieur ou égal à), >= (supérieur ou égal à), < (strictement inférieur à), > (strictement supérieur à) ou == (égal à). La boucle continue d'exécuter tant que cette comparaison vaut True, et s'arrête dès qu'elle devient False.

À l'intérieur du corps de la boucle, vous devez généralement **mettre à jour** la variable vérifiée. Cela se fait avec des **opérateurs d'affectation augmentée** comme += (ajouter et assigner), -= (soustraire et assigner), *= (multiplier et assigner), ou /= (diviser et assigner). Par exemple, x *= 2 est un raccourci pour x = x * 2. Sans la mise à jour de la variable, la condition ne changerait jamais et la boucle s'exécuterait indéfiniment.

Il existe de nombreux cas d'usage où un while résoudrait le problème, mais pas la boucle for.

Par exemple, considérez ce problème :

Trouvez la plus petite puissance de 2 supérieure à un number donné.

Pour le résoudre, nous utiliserons une boucle while qui multipliera de manière répétée la puissance de 2 actuelle par 2 jusqu'à ce qu'elle devienne supérieure au nombre donné :

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Ici, power_of_two <= number est la condition utilisant un opérateur de comparaison, et power_of_two *= 2 met à jour la variable à chaque itération en utilisant un opérateur d'affectation augmentée. Une fois que power_of_two dépasse number, la condition devient False et la boucle s'arrête.

challenge icon

Défi

Débutant

Écrivez un programme qui reçoit une valeur en entrée, un nombre de type float.

Utilisez une boucle while pour diviser l'entrée par 2 tant que le number est supérieur ou égal à 3.5.

Faites un print du premier nombre qui est inférieur à 3.5.

Essayez vous-même

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals

Entraînez-vous par vous-même : Compilateur Python en ligne