Différences entre les versions de « Programmation Python/Instructions répétitives »

m
Formatage, ajout de code
m (Formatage, ajout de code)
En effet, 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 à "5".
 
Comme l'instruction "<ttcode>if</ttcode>", l'instruction "<ttcode>while</ttcode>" 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.
 
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 "<ttcode>while</ttcode>", Python commence par évaluer la validité de la condition fournie entre parenthèses (celles-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.
* 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 <code>a = a + 1</code> 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'instruction "<ttcode>print</ttcode>" qui affiche la valeur courante de la variable "<ttcode>a</ttcode>".
 
* 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 "<ttcode>while</ttcode>". La condition qui s'y trouve est à nouveau évaluée, et ainsi de suite.<br /> Dans notre exemple, si la ''condition '' <code>a < 5</code> est encore vraie, le corps de la boucle est exécuté une nouvelle fois et le bouclage se poursuit.
 
==== Remarques ====
* 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), en risquant de saturer les processeurs (si cela survient, presser CTRL + C pour annuler le lancement). 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 "<ttcode>while</ttcode>", de manière à ce que cette condition puisse devenir fausse et donc que la boucle se termine.
 
Exemple de {{wt|boucle infinie}} (à éviter) :