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 une 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 s'exécutera uniquement 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 à), < (inférieur à), > (supérieur à) ou == (égal à). La boucle continue de s'exécuter tant que cette comparaison est évaluée à 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 en cours de vérification. Cela se fait avec des opérateurs d'affectation augmentée tels que += (ajouter et affecter), -= (soustraire et affecter), *= (multiplier et affecter) ou /= (diviser et affecter). Par exemple, x *= 2 est un raccourci pour x = x * 2. Sans mise à jour de la variable, la condition ne changerait jamais et la boucle s'exécuterait indéfiniment.
Il existe de nombreux cas d'utilisation où une boucle while résoudrait le problème, mais où la boucle for ne le ferait pas.
Par exemple, considérons ce problème :
Trouvez la plus petite puissance de 2 qui est supérieure à un nombre 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 entrée, un nombre float.
Utilisez une boucle while pour diviser l'entrée par 2 tant que le nombre est supérieur ou égal à 3.5.
Affichez le premier nombre qui est inférieur à 3.5.
Aide-mémoire
Une boucle while s'exécute tant qu'une condition est True :
while condition:
codeUtilisez des opérateurs de comparaison pour former la condition : ==, <, >, <=, >=.
Utilisez des opérateurs d'assignation augmentée pour mettre à jour la variable à chaque itération : +=, -=, *=, /=.
number = 27
power_of_two = 1
while power_of_two <= number:
power_of_two *= 2 # mettre à jour la variable pour éviter une boucle infinie
print(power_of_two) # 32Essayez 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éfaut