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/46

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


24
Chapitre 3 — Contrôle du flux d’exécution

Notez bien que l'opérateur de comparaison pour l'égalité de deux valeurs est constitué de deux signes « égale » et non d'un seul[1]. Le signe « égale » utilisé seul est un opérateur d'affectation, et non un opérateur de comparaison. Vous retrouverez le même symbolisme en C++ et en Java.



Instructions composées – blocs d’instructions

La construction que vous avez utilisée avec l'instruction if est votre premier exemple d'instruction composée. Vous en rencontrerez bientôt d'autres. Sous Python, toutes les instructions composées ont toujours la même structure : une ligne d'en-tête terminée par un double point, suivie d'une ou de plusieurs instructions indentées sous cette ligne d'en-tête. Exemple :

Ligne d’en-tête:
    première instruction du bloc
    ... ...
    ... ...
    dernière instruction du bloc

S'il y a plusieurs instructions indentées sous la ligne d'en-tête, elles doivent l'être exactement au même niveau (comptez un décalage de 4 caractères, par exemple). Ces instructions indentées constituent ce que nous appellerons désormais un bloc d'instructions. Un bloc d'instructions est une suite d'instructions formant un ensemble logique, qui n'est exécuté que dans certaines conditions définies dans la ligne d'en-tête. Dans l'exemple du paragraphe précédent, les deux lignes d'instructions indentées sous la ligne contenant l'instruction if constituent un même bloc logique : ces deux lignes ne sont exécutées - toutes les deux - que si la condition testée avec l'instruction if se révèle vraie, c'est-à-dire si le reste de la division de a par 2 est nul.



Instructions imbriquées

Il est parfaitement possible d'imbriquer les unes dans les autres plusieurs instructions composées, de manière à réaliser des structures de décision complexes. Exemple :

if embranchement == "vertébrés": #1
    if classe == "mammifères": #2
        if ordre == "carnivores": #3
            if famille == "félins": #4
        print("c’est peut-être un chat #5
    print "c'est en tous cas un mammifère" #6
elif classe == 'oiseaux': #7
        print "c'est peut-être un canari" #8
print"la classification des animaux est complexe" #9

Analysez cet exemple. Ce fragment de programme n'imprime la phrase « c'est peut-être un chat » que dans le cas où les quatre premières conditions testées sont vraies.

Pour que la phrase « c'est en tous cas un mammifère » soit affichée, il faut et il suffit que les deux premières conditions soient vraies. L'instruction d'affichage de cette phrase (ligne 4) se

  1. ↑ Rappel : l'opérateur % est l'opérateur modulo : il calcule le reste d'une division entière. Ainsi par exemple, a % 2 fournit le reste de la division de a par 2.