This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.

Page:Swinnen - Apprendre Python, 2010.djvu/79

Free texts and images.
Jump to navigation Jump to search
This page has been proofread


Révision
57

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.



Boucle while - instructions imbriquées

Continuons dans cette voie en imbriquant d'autres structures :


#Instructions composées <while> - <if> - <elif> - <else>
print('Choisissez un nombre de 1 à 3 (ou 0 pour terminer) ', end=' ')
ch = input()
a = int(ch) # conversion de la chaîne entrée en entier
while a: # équivalent à : < while a != 0: >
  if a == 1:
      print("Vous avez choisi un :")
      print("le premier, l'unique, l'unité ..."
  elif a == 2:
      print("Vous préférez le deux :")
      print("la paire, le couple, le duo ...")
  elif a == 3:
      print("Vous optez pour le plus grand des trois :")
      print("le trio, la trinité, le triplet ...")
  else :
      print("Un nombre entre UN et TROIS, s.v.p.")
  print('Choisissez un nombre de 1 à 3 (ou 0 pour terminer) ', end =' ')
  a = int(input())
print("Vous avez entré zéro :")
print("L'exercice est donc terminé.")

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.