Formation I.S.N.

La boucle while

Boucler sous condition

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 :


			
			
Attention ! Deux choses à ne pas oublier : l'initialisation de la variable et son incrémentation.
  • 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 boucle while 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.