L'instruction contenue dans cette ligne est donc toujours exécutée, alors que les deux suivantes (qui constituent encore un autre bloc) ne sont exécutées que si la condition nn[2] > max est vraie.
En suivant la même logique, on voit que les instructions des deux dernières lignes font partie du bloc principal et sont donc toujours exécutées.
Continuons dans cette voie en imbriquant d'autres structures :
|
|
Nous retrouvons ici une boucle while, associée à un groupe d'instructions if, elif et else. Notez bien cette fois encore comment la structure logique du programme est créée à l'aide des indentations (... et n'oubliez pas le caractère « : » à la fin de chaque ligne d'en-tête !).
À la ligne 6, l'instruction while est utilisée de la manière expliquée à la page : pour la comprendre, il suffit de vous rappeler que toute valeur numérique autre que zéro est considérée comme « vraie » par l'interpréteur Python. Vous pouvez remplacer cette forme d'écriture par : « while a != 0 : » si vous préférez (rappelons à ce sujet que l'opérateur de comparaison != signifie « est différent de »), mais c'est moins efficace.
Cette « boucle while » relance le questionnement après chaque réponse de l'utilisateur (du moins jusqu'à ce que celui-ci décide de « quitter » en entrant une valeur nulle : ).
Dans le corps de la boucle, nous trouvons le groupe d'instructions if, elif et else (de la ligne 7 à la ligne 17), qui aiguille le flux du programme vers les différentes réponses, ensuite une instruction print() et une instruction input() (lignes 18 & 19) qui seront exécutées dans tous les cas de figure : notez bien leur niveau d'indentation, qui est le même que celui du bloc if, elif et else. Après ces instructions, le programme boucle et l'exécution reprend à l'instruction while (ligne 6).
À la ligne 19, nous utilisons la composition pour écrire un code plus compact, qui est équivalent aux lignes 4 & 5 rassemblées en une seule.