Aller au contenu
Conditions : if, else, elifChapitre 6/13

Exécuter un bloc seulement si...

Jusqu'ici, tes programmes exécutaient toutes leurs lignes, une par une, sans exception. Le mot-clé if (« si ») permet d'en exécuter certaines seulement quand une condition est vraie.

if 7 > 3:
    print("La condition est vraie")
print("Cette ligne est toujours affichée")

Deux nouveautés. La ligne if 7 > 3: se termine par deux-points : : ils annoncent un bloc. Et la ligne print("La condition est vraie") est indentée (décalée de 4 espaces vers la droite) : c'est cette indentation qui dit à Python qu'elle fait partie du bloc. La dernière ligne, non indentée, n'en fait pas partie : elle s'exécute dans tous les cas.

La structure générale, à connaître par cœur :

if (condition):
    instruction1
    instruction2
    ...
    instructionN
instruction_suivante   # hors du bloc, toujours exécutée
DéfinitionL'instruction conditionnelle if

La règle générale est très simple. Python calcule ce qu'il y a entre if et :. Si le résultat est True, le bloc s'exécute. Si c'est False, le bloc est sauté. Et peu importe d'où vient ce True :

  • écrit tel quel : if True:
  • résultat d'une comparaison : if 3 > 2: (au chapitre précédent, tu as vu que 3 > 2 vaut True)
  • rangé dans une variable : ok = True puis if ok:
  • comparaison entre variables : if age >= limite:
  • résultat d'une fonction : if len("abc") == 3: (len("abc") vaut 3, donc 3 == 3 vaut True)
À retenirDans tous les cas, l'ordre est le même, comme au chapitre sur la séquentialité : d'abord Python calcule la condition, ensuite seulement il décide d'entrer dans le bloc ou de passer directement à la ligne non indentée qui suit. Cette ligne-là s'exécute toujours.
AttentionL'indentation n'est pas une question de style en Python : c'est elle qui délimite le bloc. Toutes les lignes d'un même bloc doivent être décalées exactement du même nombre d'espaces, sinon Python renvoie une erreur.
Programme complet du cours Python (13 chapitres, gratuit)
  1. 1. Pourquoi programmer ? : Ce qu'est vraiment un programme : des instructions en langage humain, traduites pour un ordinateur qui ne devine rien.
  2. 2. Python : ses mots-clés et ses fonctions : La courte liste des mots que Python connaît, le concept de fonction avec print() et input(), et un programme lu comme une simple traduction du français.
  3. 3. Séquentialité : une étape après l'autre : Python lit ligne par ligne, et à l'intérieur d'une ligne, opération par opération : l'ordre est tout sauf un détail.
  4. 4. Variables et types de données : Mémoriser une valeur avec =, et pourquoi chaque valeur a un type : int, float, str, bool, et comment passer de l'un à l'autre.
  5. 5. Les opérations : qui prend quoi, et donne quoi : Chaque opérateur prend deux valeurs d'un certain type et en produit une d'un certain type : arithmétique, comparaison, logique, et les opérations sur les chaînes.
  6. 6. Conditions : if, else, elif : Exécuter un bloc seulement si le résultat après if vaut True, d'où qu'il vienne ; puis sinon, et sinon si.
  7. 7. Boucles : for et while : Répéter sans recopier : for pour parcourir une collection ou compter avec range, while tant qu'une condition est vraie, et comment choisir.
  8. 8. Les listes : Ranger plusieurs valeurs dans une seule variable : créer une liste, lire un élément, la parcourir, l'agrandir avec append.
  9. 9. Les dictionnaires : Associer une clé à une valeur : créer un dictionnaire, lire, ajouter, modifier, et le parcourir.
  10. 10. Écrire ses propres fonctions : Donner un nom à un bloc d'instructions avec def, puis l'appeler autant de fois qu'on veut.
  11. 11. Fonctions avec paramètres : Donner des informations à une fonction au moment de l'appel : un paramètre, puis plusieurs, et ce qui se passe à l'intérieur.
  12. 12. Fonctions qui renvoient une valeur : La différence entre afficher et renvoyer : return donne un résultat qu'on peut stocker, comparer, réutiliser.
  13. 13. La totale : tout combiner : Des programmes complets qui mélangent variables, opérations, conditions, boucles, listes, dictionnaires et fonctions, dont le retour de la liste d'appel.