Python : les conditions

Cet article est archivé dans la rubrique Le langage Python.

Bonjour à tous,

Dans un programme écrit en langage Python, les instructions s’exécutent les unes après les autres. Par exemple, dans ce code, je commence par déclarer une variable a à laquelle j’affecte le nombre entier 5. Je fais un print qui m’affiche 5 puis à la ligne suivante, je modifie ma variable a avant de refaire un print. Enfin, je déclare une variable b à laquelle j’affecte le nombre entier 10 et je fais un print qui m’affiche l’addition de a + b. Chaque instruction s’exécute l’une après l’autre.

#!/usr/bin/python3
# -*- coding: utf8 -*-
a = 5
print(a)
a = a + 6
print(a)
b = 10
print(a + b)

Seulement parfois, il est nécessaire d’orienter le programme par rapport aux données qu’un utilisateur va renseigner. Et c’est là que les conditions entrent en jeu. Prenons l’exemple de la fonction input(). Cette fonction met le programme en attente jusqu’à ce que l’utilisateur ait renseigné le champ d’entrée. C’est le cas dans le programme ci-dessous. Je demande à l’utilisateur de renseigner son âge. Selon sa réponse, l’une des quatre conditions va s’afficher.

#!/usr/bin/python3
# -*- coding: utf8 -*-
age = input("Veuillez entrer votre âge : ") # Fonction input()
# age contient une chaîne de caractères
# que je transforme en nombre entier grâce à la fonction int()
age = int(age)
if age > 0 and age < 20 : # 1ère condition     print("Tu es jeune!") # Indentation obligatoire en Python elif age > 20 and age < 60 : # 2ème condition     print("Vous êtes un adulte.") # Bloc d'instructions indenté elif age > 60 : # 3ème condition
    print("Vous avez acquis une certaine expérience de la vie.")
else : # Dernière condition
    print("Vous n'êtes pas encore né puisque vous avez entré un âge négatif!")

Pour écrire une condition, il faut utiliser le mot-clé if (« si » en français) suivi d’un bloc d’instructions indenté. C’est obligatoire en Python! Qu’est-ce donc que l’indentation? C’est le décalage de quatre espaces qui précède le bloc d’instructions. Je vous déconseille d’utiliser les tabulations pour effectuer le décalage. Utilisez plutôt quatre espaces. Vous pouvez configurer votre éditeur de texte de telle sorte que la touche ->| créé un décalage de quatre espaces au lieu d’une tabulation. Surtout, ne mélangez pas les tabulations et les décalages de quatre espaces sous peine de voir Python vous retourner une exception (error)!

Si le premier if ne s’exécute pas, c’est la deuxième condition ou la troisième condition qui entre en action grâce au mot-clé elif. elif est la contraction de else if. Cela signifie sinon si.

Enfin, si aucune condition ne s’applique à la valeur entrée par l’utilisateur, c’est la dernière condition qui entre en action : else signifie sinon.

condition_4

Voici donc un résumé d’une instruction conditionnelle :

condition_3.png

Les expressions conditionnelles

Il existe une autre façon plus compacte d’écrire une condition. Dans certains cas, il est possible d’utiliser une expression conditionnelle qui se résume à une seule ligne d’instructions. Voici un exemple avec ce code que j’ai largement commenté :

condition_5

Je l’exécute dans un terminal interactif IDLE-3. Que l’on utilise une expression conditionnelle ou bien une instruction conditionnelle, on constate que le résultat retourné est identique : 50. Mais l’expression conditionnelle tient sur une seule ligne.

condition_6

Auteur : Ordinosor

Bienvenue sur Miamondo, mon blog personnel. "Mia mondo", c'est de l'espéranto et ça signifie "Mon monde" en français. Je m'appelle Benoît alias Ordinosor, Français expatrié en Allemagne. Mes centres d'intérêt sont les distributions GNU/Linux, le langage de programmation Python, la science-fiction et l'espéranto.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s