Cette boucle while
se retrouve dans la plupart des langages de programmation et porte souvent le même nom.
Elle permet de répéter une séquence d'instructions (ou bloc d'instructions) tant qu'une condition est vraie.
En effet, la traduction littérale du mot anglais while est « tant que ». La syntaxe est la suivante :
while condition:
instruction 1
insctruction 2
...
instruction n
Le bon fonctionnement d'une boucle while
tient dans la condition :
il faut bien sûr qu'elle soit parfaitement écrite pour que
Python comprenne le nombre de fois que le bloc d'instructions doit être répété.
Cette condition prendra souvent la forme d'un prédicat portant sur variable
qui sera incrémentée dans le bloc d'instructions (c'est-à-dire qu'on
lui rajoutera 1 à chaque exécution du bloc). Tant que le prédicat est vrai (valeur True
pour Python),
le bloc d'instruction s'exécute
à nouveau.
Pour écrire un prédicat portant sur une variable, encore faut-il que celle-ci prenne une valeur initiale.
L'utilisation d'une boucle while
doit donc toujours être précédée d'une instruction initialisant la variable utilisée dans la condition.
Voici comment programmer notre table de 7 avec une boucle while :
-
Sans initialisation, la boucle
while
n’est pas comprise puisque la variable sur laquelle elle porte n’existe pas. De plus, la valeur choisie au départ ainsi que la borne choisie dans la bouclewhile
et l’opérateur conditionnent le nombre de tours effectués par la boucle. Ces choix doivent donc être réfléchis. -
Sans incrémentation, la valeur de la variable reste toujours à sa valeur initiale.
La condition pour rentrer dans la boucle est donc toujours remplie.
En conséquence, la boucle tournera indéfiniment. On a alors créé une boucle infinie.
Python n’étant pas capable de reconnaître un boucle infinie,
c’est au programmateur de l’interrompre en tapant
Ctrl + C
dans la fenêtre de l’interpréteur.