Le mot while signifie « tant que » en anglais. Cette instruction utilisée à la seconde ligne indique à Python qu’il lui faut répéter continuellement le bloc d’instructions qui suit, tant que le contenu de la variable a reste inférieur à 7.
Comme l’instruction if abordée au chapitre précédent, l’instruction while amorce une instruction composée. Le double point à la fin de la ligne introduit le bloc d’instructions à répéter, lequel doit obligatoirement se trouver en retrait. Comme vous l’avez appris au chapitre précédent, toutes les instructions d’un même bloc doivent être indentées exactement au même niveau (c’est-à -dire décalées à droite d’un même nombre d’espaces).
Nous avons ainsi construit notre première boucle de programmation, laquelle répète un certain nombre de fois le bloc d’instructions indentées. Voici comment cela fonctionne :
- • Avec l’instruction while, Python commence par évaluer la validité de la condition fournie entre parenthèsesstelles-ci sont optionnelles, nous ne les avons utilisées que pour clarifier notre explication).
- • Si la condition se révèle fausse, alors tout le bloc qui suit est ignoré et l’exécution du programme se termine[1]
- • Si la condition est vraie, alors Python exécute tout le bloc d’instructions constituant le corps de la boucle, c’est-à -dire :
– l’instruction a = a + 1 qui incrémente d’une unité le contenu de la variable a (ce qui signifie que l’on affecte à la variable a une nouvelle valeur, qui est égale à la valeur précédente augmentée d’une unité).
– l’appel de la fonction print() pour afficher la valeur courante de la variable a.
- • lorsque ces deux instructions ont été exécutées, nous avons assisté à une première itération, et le programme boucle, c’’est-à -dire que l’exécution reprend à la ligne contenant l’instruction while. La condition qui s’y trouve est à nouveau évaluée, et ainsi de suite. Dans notre exemple, si la condition a < 7 est encore vraie, le corps de la boucle est exécuté une nouvelle fois et le bouclage se poursuit.
- • La variable évaluée dans la condition doit exister au préalable (il faut qu’’on lui ait déjà affecté au moins une valeur).
- • Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
- • Si la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment (tout au moins tant que Python lui-même continue à fonctionner). Il faut donc veiller à ce que le corps de la boucle contienne au moins une instruction qui change la valeur d’une variable intervenant dans la condition évaluée par while, de manière à ce que cette condi
- ↑ … du moins dans cet exemple. Nous verrons un peu plus loin qu’en fait l’exécution continue avec la première instruction qui suit le bloc indenté, et qui fait partie du même bloc que l’instruction while elle-même.