Section 4.4
Instructions conditionnelles
Dans cette section, nous allons apprendre à écrire des programmes qui peuvent décider ou non d'exécuter certaines parties de leur code en fonction du résultat de calculs.
Pour cela, nous allons utiliser des instructions conditionnelles. Une instruction conditionnelle est une structure de contrôle qui permet de décider si un bloc de code doit être exécuté ou non en fonction d'une condition.
Si : le mot-clé if
En Python, on utilise le mot-clé if
pour créer une instruction
conditionnelle. Voici un exemple de code qui utilise une instruction conditionnelle :
★ À essayer
Essayez d'exécuter le programme ci-dessus.
Qu'arrive-t-il si vous entrez le mot de passe 1234
?
Qu'arrive-t-il si vous entrez un autre mot de passe ?
Le programme commence par demander à l'utilisateur de saisir un mot de passe.
Le mot de passe est ensuite stocké dans la variable mot_de_passe
.
Ensuite, on utilise la structure de contrôle if
pour vérifier si le mot de passe
est bien égal à 1234
. Si c'est le cas, on affiche un message de bienvenue.
Autrement, on ne fait rien.
Ensuite, dans tous les cas, on affiche un message pour signifier la fin du programme.
La syntaxe d'une instruction conditionnelle est la suivante :
- En premier, on inscrit le mot-clé
if
. - Ensuite, après un espace, on écrit un calcul : la condition.
Ce calcul doit résulter en un booléen (
True
ouFalse
). - Après la condition, on inscrit le symbole
:
(deux-points). - Ensuite, en dessous de cette ligne, viennent les lignes de code conditionnées.
Ces lignes de code doivent être indentées (décalées vers la droite) par rapport à la ligne
qui contient le mot-clé
if
. Toutes les lignes de code indentées de la même manière sont considérées comme faisant partie du bloc de code conditionné.
Lorsque le programme exécute une instruction conditionnelle, il commence par calculer la condition.
Si le résultat est True
, alors le programme exécute toutes les lignes du bloc
de code indenté directement en dessous. Sinon, le programme ne fait rien de ces lignes de code indentées.
Dans tous les cas, le programme continue son exécution après le bloc de code conditionné.
! Remarque
L'indentation est très importante en Python, plus que dans d'autres langages de programmation. En effet, c'est grâce à l'indentation que Python comprend la structure de votre code. Si vous ne respectez pas les règles d'indentation, vous obtiendrez une erreur de syntaxe.
En Python, on utilise généralement quatre espaces pour indenter les lignes de code.
Dans la plupart des éditeurs de texte pour Python,
lorsque vous appuyez sur la touche Tab
,
quatre espaces sont insérés.
Autrement : le mot-clé else
À l'aide du mot-clé else
, on peut ajouter à une instruction conditionnelle
if
un bloc de code qui sera exécuté uniquement si la condition est fausse.
Voici un exemple de code qui utilise une instruction conditionnelle avec un bloc
else
:
★ À essayer
Essayez d'exécuter ce programme avec différents âges et observez l'affichage obtenu. Qu'obtenez-vous lorsque l'âge entré est supérieur ou égal à 18 ? Qu'obtenez-vous lorsque l'âge entré est inférieur à 18 ?
Dans une structure conditionnelle avec un bloc else
,
la condition est toujours calculée en premier.
Si le résultat est True
, alors le programme exécute toutes les lignes du bloc
de code indenté directement en dessous du if
.
Sinon, le programme exécute toutes les lignes du bloc de code indenté directement en dessous du
else
.
Ensuite, dans tous les cas, le programme continue son exécution après cette structure conditionnelle.
Autrement-si : le mot-clé elif
Le mot-clé elif
permet d'ajouter à une instruction conditionnelle
if
un bloc de code qui sera exécuté uniquement si la condition associée au if
est fausse et qu'une condition associée au elif
est vraie.
Voici un exemple de code qui utilise une instruction conditionnelle avec un bloc
elif
:
★ À essayer
Essayez d'exécuter ce programme avec différents nombres et observez l'affichage obtenu.
Il est même possible d'ajouter plusieurs blocs elif
à une instruction conditionnelle.
Dans ce cas, le programme exécute le bloc associé au premier if
ou elif
dont la condition est vraie.
Si aucune condition n'est vraie, alors le programme exécute le bloc else
,
si un tel bloc existe.
Voici un exemple :
★ À essayer
Essayez d'exécuter ce programme avec différents âges et observez l'affichage obtenu.
Combiner les structures conditionnelles
Il est possible d'imbriquer plusieurs structures conditionnelles les unes dans les autres. Pour cela, il suffit d'augmenter l'indentation des lignes de code qui sont dans le bloc de code imbriqué. Cela permet de créer des structures conditionnelles plus complexes. Par exemple:
★ À essayer
Essayez d'exécuter ce programme avec différents nombres et observez l'affichage obtenu. Qu'obtenez-vous lorsque le nombre est positif ? Qu'obtenez-vous lorsque le nombre est négatif ? Qu'obtenez-vous lorsque le nombre est exactement 0 ? Est-ce que vous obtenez toujours le même affichage si le nombre est pair ou impair ? Si ce n'est pas le cas, pour quelles nombres obtenez-vous des affichages différents ?
De même, il est possible de suivre une structure conditionnelle par une autre structure conditionnelle (ou tout autre code), comme dans l'exemple suivant :
★ À essayer
Essayez d'exécuter ce programme avec différents nombres et observez les différents affichages obtenus. Combien d'affichage différents pouvez-vous obtenir ?
✎ Auto-évaluation
En Python, on utilise le mot-clé pour créer une structure conditionnelle. Il est possible d'ajouter un ou plusieurs blocs de code alternatifs grâce au mot-clé . Ce mot-clé est toujours suivi d'une condition. Enfin, il est possible d'ajouter un unique bloc à la fin d'une structure conditionnelle afin de définir quoi faire si aucune condition n'est vraie grâce au mot-clé .
✎ Auto-évaluation
En Python, on utilise pour délimiter les blocs de code, comme par exemple les blocs de code d'une structure conditionnelle.
✎ Auto-évaluation
Adaptez le programme suivant pour qu'il donne le bon affichage en fonction de l'âge entré par l'utilisateur.
✎ Auto-évaluation
Complétez le programme suivant. Le programme doit demander à l'utilisateur de saisir deux nombres entiers et indique ensuite lequel des deux est le plus grand.
Si les deux nombres sont égaux, le programme doit aussi l'indiquer.
Dans cette section, nous avons vu comment créer des structures conditionnelles en Python.
Nous avons vu comment utiliser les mots-clés if
, elif
et else
pour créer des structures conditionnelles plus ou moins complexes.
Dans la section suivante, nous allons voir comment créer des boucles en Python. Les boucles permettent nous permettrons d'exécuter plusieurs fois un même bloc de code sans avoir à le réécrire à chaque fois.