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:
codeLe 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.
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
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
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage d'addition
Message de bienvenueSaisie des données10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables
NombresChaînes de caractèresBooléensConventions de nommageVariables videsRécapitulatif - Initialiser des variables8Boucles
Boucle ForBoucle WhileBreakContinueRécapitulatif - FactorielleLa fonction RangeBoucles imbriquéesRécapitulatif - Saisie dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6E/S de base
SortieSortie avec des variablesEntréeCastRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArgumentsRetourner une valeurRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défautEntraînez-vous par vous-même : Compilateur Python en ligne