Python Boucle while est utilisé pour exécuter un bloc d'instructions à plusieurs reprises jusqu'à ce qu'une condition donnée soit satisfaite. Lorsque la condition devient fausse, la ligne immédiatement après la boucle du programme est exécutée.
Syntaxe de la boucle while en Python
while expression: statement(s)>
Organigramme de la boucle While Python
Tandis que la boucle entre dans la catégorie des itération indéfinie . L'itération indéfinie signifie que le nombre de fois que la boucle est exécutée n'est pas explicitement spécifié à l'avance.
Les instructions représentent toutes les instructions indentées par le même nombre d'espaces de caractères après qu'une construction de programmation soit considérée comme faisant partie d'un seul bloc de code. Python utilise l'indentation comme méthode de regroupement des instructions. Lorsqu'une boucle while est exécutée, expr est d'abord évaluée dans un contexte booléen et si elle est vraie, le corps de la boucle est exécuté. Ensuite, l'expression est vérifiée à nouveau, si elle est toujours vraie alors le corps est à nouveau exécuté et cela continue jusqu'à ce que l'expression devienne fausse.
Différence entre Boucle Python For et Python While Boucle
La principale différence entre Python For Loop et Python While Loop est que Python for loop est généralement utilisé lorsque le nombre d'itérations est connu , alors que la boucle while Python est utilisée lorsque le nombre d'itérations est inconnu
Boucle while Python
Dans cet exemple, la condition de while sera True tant que la variable du compteur (count) est inférieure à 3.
Python
# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)> |
>
>
loup contre renardSortir
Hello Geek Hello Geek Hello Geek>
Boucle while infinie en Python
Ici, la valeur de la condition est toujours True. Par conséquent, le corps de la boucle est exécuté un nombre infini de fois jusqu'à ce que la mémoire soit pleine.
Python
age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)> |
>
>
Instructions de contrôle en Python avec exemples
Les instructions de contrôle de boucle modifient l'exécution par rapport à leur séquence normale. Lorsque l'exécution quitte une portée, tous les objets automatiques créés dans cette portée sont détruits. Python prend en charge les instructions de contrôle suivantes.
Boucle Python while avec instruction continue
Python Continuer la déclaration renvoie le contrôle au début de la boucle.
Python
# Prints all letters except 'e' and 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >continue> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1> |
>
>Sortir
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>
Python while boucle avec une instruction break
Python Déclaration de rupture fait sortir le contrôle de la boucle.
Python
# break the loop as soon it sees 'e'> # or 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >break> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1> |
>
>Sortir
Current Letter : g>
Python while boucle avec une instruction pass
L'instruction Python pass pour écrire des boucles vides. Pass est également utilisé pour les instructions de contrôle, les fonctions et les classes vides.
Python
# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)> |
>
>Sortir
Value of i : 13>
Tandis que boucle avec else
Comme indiqué ci-dessus, la boucle while exécute le bloc jusqu'à ce qu'une condition soit satisfaite. Lorsque la condition devient fausse, l'instruction immédiatement après la boucle est exécutée. La clause else n'est exécutée que lorsque votre condition while devient fausse. Si vous sortez de la boucle ou si une exception est levée, elle ne sera pas exécutée.
Note: Le bloc else juste après for/while est exécuté uniquement lorsque la boucle n'est PAS terminée par une instruction break.
Python
# Python program to demonstrate> # while-else loop> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> else>:># Executed because no break in for> >print>(>'No Break
'>)> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> >break> else>:># Not executed as there is a break> >print>(>'No Break'>)> |
>
>Sortir
1 2 3 4 No Break 1>
Déclaration contrôlée Sentinel
En cela, nous n’utilisons aucune variable de compteur car nous ne savons pas combien de fois la boucle s’exécutera. Ici, l'utilisateur décide combien de fois il souhaite exécuter la boucle. Pour cela, nous utilisons une valeur sentinelle. Une valeur sentinelle est une valeur utilisée pour terminer une boucle chaque fois qu'un utilisateur la saisit. Généralement, la valeur sentinelle est -1.
Python while boucle avec entrée utilisateur
Ici, il demande d’abord à l’utilisateur de saisir un nombre. si l'utilisateur entre -1 alors la boucle ne s'exécutera pas, c'est-à-dire
- L'utilisateur entre 6 et le corps de la boucle s'exécute et demande à nouveau une entrée
- Ici, l'utilisateur peut saisir plusieurs fois jusqu'à ce qu'il entre -1 pour arrêter la boucle
- L'utilisateur peut décider combien de fois il souhaite saisir une entrée
Python
a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> |
>
>
Sortir:

Image de l’écran de sortie
Boucle while avec des valeurs booléennes
Une utilisation courante des valeurs booléennes dans les boucles while consiste à créer une boucle infinie dont on ne peut sortir qu'en fonction d'une condition dans la boucle.
gestion des exceptions Java
Exemple :
Dans cet exemple, nous initialisons un compteur puis utilisons une boucle while infinie (True est toujours vrai) pour incrémenter le compteur et imprimer sa valeur. On vérifie si le compteur a atteint une certaine valeur et si c'est le cas, on sort de la boucle en utilisant l'instruction break.
Python
# Initialize a counter> count>=> 0> > # Loop infinitely> while> True>:> ># Increment the counter> >count>+>=> 1> >print>(f>'Count is {count}'>)> > ># Check if the counter has reached a certain value> >if> count>=>=> 10>:> ># If so, exit the loop> >break> > # This will be executed after the loop exits> print>(>'The loop has ended.'>)> |
>
>Sortir
Count is 1 Count is 2 Count is 3 Count is 4 Count is 5 Count is 6 Count is 7 Count is 8 Count is 9 Count is 10 The loop has ended.>
Boucle Python while avec liste Python
Dans cet exemple, nous avons exécuté une boucle while sur une liste qui s'exécutera jusqu'à ce qu'un élément soit présent dans la liste.
Python
# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())> |
>
>Sortir
4 3 2 1>
Instruction unique pendant le blocage
Tout comme le bloc if, si le bloc while consiste en une seule instruction, nous pouvons déclarer la boucle entière sur une seule ligne. S'il y a plusieurs instructions dans le bloc qui constitue le corps de la boucle, elles peuvent être séparées par des points-virgules (;).
Python
# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)> |
>
>Sortir
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>
Questions sur les exercices en boucle Python While
Vous trouverez ci-dessous deux questions d'exercices sur la boucle while Python. Nous avons couvert 2 questions d'exercices importantes basées sur le programme de balle rebondissante et le programme de compte à rebours.
T1. Question d'exercice en boucle while basée sur un problème de balle rebondissante
Python
initial_height>=> 10> bounce_factor>=> 0.5> height>=> initial_height> while> height>>0.1>:> >print>(>'The ball is at a height of'>, height,>'meters.'>)> >height>*>=> bounce_factor> print>(>'The ball has stopped bouncing.'>)> |
>
>
Sortir
The ball is at a height of 10 meters. The ball is at a height of 5.0 meters. The ball is at a height of 2.5 meters. The ball is at a height of 1.25 meters. The ball is at a height of 0.625 meters. The ball is at a height of 0.3125 meters. The ball is at a height of 0.15625 meters. The ball has stopped bouncing.>
Q2. Code d'exercice simple en boucle while pour créer un compte à rebours
Python
countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)> |
>
>
Sortir
10 9 8 7 6 5 4 3 2 1 Blast off!>