Python while instructions de boucle

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. 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, le 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/python

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

print "Good bye!"

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 FAUX. Vous devez faire preuve de prudence lors de l'utilisation de boucles while car il est possible que 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.

#!/usr/bin/python

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

print "Good bye!"

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 between :Traceback (most recent call last):
   File "test.py", line 5, in <module>
      num = raw_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 la boucle While

Python prend en charge pour avoir un else instruction associée à une instruction de boucle.

  • 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.

#!/usr/bin/python

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

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 d'une seule instruction, elle peut être placée sur la même ligne que l'en-tête while.

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

#!/usr/bin/python

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

Il vaut mieux ne pas essayer l'exemple ci-dessus car il passe en boucle infinie et vous devez appuyer sur les touches CTRL + C pour quitter.