Python 3 - Instructions de boucle while

UNE while L'instruction loop du langage de programmation Python exécute à plusieurs reprises une instruction cible tant qu'une condition donnée est vraie.

Syntaxe

La syntaxe d'un while boucle dans le langage de programmation Python est -

while expression:
   statement(s)

Ici, statement(s)peut être une seule instruction ou un bloc d'instructions avec un retrait uniforme. leconditionpeut être n'importe quelle expression, et true est n'importe quelle valeur non nulle. La boucle se répète tant que la condition est vraie.

Lorsque la condition devient fausse, le contrôle du programme passe à la ligne qui suit immédiatement la boucle.

En Python, toutes les instructions indentées du même nombre d'espaces de caractères après une construction de programmation sont considérées comme faisant partie d'un seul bloc de code. Python utilise l'indentation comme méthode de regroupement des instructions.

Représentation schématique

Ici, un point clé de la boucle while est que la boucle peut ne jamais s'exécuter. Lorsque la condition est testée et que le résultat est faux, le corps de la boucle sera ignoré et la première instruction après la boucle while sera exécutée.

Exemple

#!/usr/bin/python3

count = 0
while (count < 9):
   print ('The count is:', count)
   count = count + 1

print ("Good bye!")

Production

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

Le bloc ici, composé des instructions d'impression et d'incrémentation, est exécuté à plusieurs reprises jusqu'à ce que le compte ne soit plus inférieur à 9. A chaque itération, la valeur actuelle du compte d'index est affichée puis augmentée de 1.

La boucle infinie

Une boucle devient une boucle infinie si une condition ne devient jamais FALSE. Vous devez être prudent lorsque vous utilisez des boucles while, car cette condition ne se résout jamais à une valeur FALSE. Il en résulte une boucle qui ne se termine jamais. Une telle boucle est appelée une boucle infinie.

Une boucle infinie peut être utile dans la programmation client / serveur où le serveur doit s'exécuter en continu afin que les programmes clients puissent communiquer avec lui en cas de besoin.

Exemple

#!/usr/bin/python3

var = 1
while var == 1 :  # This constructs an infinite loop
   num = int(input("Enter a number  :"))
   print ("You entered: ", num)

print ("Good bye!")

Production

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number  :11
You entered:  11
Enter a number  :22
You entered:  22
Enter a number  :Traceback (most recent call last):
   File "examples\test.py", line 5, in 
      
        num = int(input("Enter a number :")) KeyboardInterrupt 
      

L'exemple ci-dessus va dans une boucle infinie et vous devez utiliser CTRL + C pour quitter le programme.

Utilisation de l'instruction else avec des boucles

Python prend en charge le fait d'avoir un else instruction associée à une instruction de boucle.

  • Si la else instruction est utilisée avec un for boucle, le else est exécutée lorsque la boucle a épuisé l'itération de la liste.

  • Si la else instruction est utilisée avec un while boucle, le else l'instruction est exécutée lorsque la condition devient fausse.

L'exemple suivant illustre la combinaison d'une instruction else avec une instruction while qui imprime un nombre tant qu'il est inférieur à 5, sinon l'instruction else est exécutée.

Exemple

#!/usr/bin/python3

count = 0
while count < 5:
   print (count, " is  less than 5")
   count = count + 1
else:
   print (count, " is not less than 5")

Production

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

Suites à déclaration unique

Semblable à la if syntaxe de l'instruction, si votre while La clause se compose uniquement d'une seule instruction, elle peut être placée sur la même ligne que l'en-tête while.

Exemple

Voici la syntaxe et l'exemple d'un one-line while clause -

#!/usr/bin/python3

flag = 1
while (flag): print ('Given flag is really true!')
print ("Good bye!")

L'exemple ci-dessus va dans une boucle infinie et vous devez appuyer sur les touches CTRL + C pour quitter.