Numérique et Sciences Informatiques > Algorithmique : Concepts de Base > Structures de Contrôle > Conditionnelle (if, else, elif)
Les Structures Conditionnelles : if, else, elif
Comprendre et maîtriser les structures conditionnelles if
, else
et elif
en Python. Ce guide détaillé, illustré d'exemples concrets, est conçu pour les élèves de lycée en Numérique et Sciences Informatiques (NSI).
Introduction aux Structures Conditionnelles
Les structures conditionnelles sont des éléments fondamentaux de la programmation. Elles permettent à un programme d'exécuter différents blocs de code en fonction de la valeur d'une condition. En d'autres termes, elles permettent de prendre des décisions basées sur des critères spécifiques. En Python, on utilise les mots-clés if
, else
et elif
pour implémenter ces structures.
La Condition if
La structure if
est la plus simple. Elle permet d'exécuter un bloc de code si une condition est vraie. La syntaxe est la suivante:
if condition:
# Bloc de code à exécuter si la condition est vraie
La condition doit être une expression booléenne (True
ou False
). Si la condition est évaluée à True
, le bloc de code indenté est exécuté. Sinon, il est ignoré.
Exemple :
age = 17
if age >= 18:
print("Vous êtes majeur.")
Dans cet exemple, si la variable age
est supérieure ou égale à 18, le message "Vous êtes majeur." est affiché.
La Condition else
La structure else
est utilisée en conjonction avec if
. Elle permet d'exécuter un bloc de code alternatif si la condition de if
est fausse. La syntaxe est la suivante:
if condition:
# Bloc de code à exécuter si la condition est vraie
else:
# Bloc de code à exécuter si la condition est fausse
Exemple :
age = 17
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
Dans cet exemple, si age
est inférieur à 18, le message "Vous êtes mineur." est affiché.
La Condition elif
La structure elif
(contraction de "else if") permet de tester plusieurs conditions successivement. Elle est utilisée lorsqu'il y a plus de deux possibilités. La syntaxe est la suivante:
if condition1:
# Bloc de code à exécuter si la condition1 est vraie
elif condition2:
# Bloc de code à exécuter si la condition2 est vraie
else:
# Bloc de code à exécuter si toutes les conditions précédentes sont fausses
On peut avoir autant de blocs elif
que nécessaire. Les conditions sont évaluées dans l'ordre, et le premier bloc dont la condition est vraie est exécuté. Si aucune condition n'est vraie, le bloc else
(s'il est présent) est exécuté.
Exemple :
note = 8
if note >= 16:
print("Très bien")
elif note >= 14:
print("Bien")
elif note >= 10:
print("Assez bien")
else:
print("Insuffisant")
Dans cet exemple, en fonction de la valeur de la variable note
, un message différent est affiché.
Conditions Imbriquées
Il est possible d'imbriquer des structures conditionnelles les unes dans les autres. Cela signifie qu'un bloc if
, else
ou elif
peut contenir une autre structure conditionnelle. Cela permet de gérer des cas plus complexes.
Exemple:
age = 20
nationalite = "Française"
if age >= 18:
if nationalite == "Française":
print("Vous êtes majeur et de nationalité française.")
else:
print("Vous êtes majeur mais pas de nationalité française.")
else:
print("Vous êtes mineur.")
Dans cet exemple, on vérifie d'abord si l'âge est supérieur ou égal à 18. Si c'est le cas, on vérifie ensuite la nationalité.
Opérateurs de Comparaison
Les conditions des structures if
, else
et elif
utilisent des opérateurs de comparaison pour comparer des valeurs. Les principaux opérateurs de comparaison sont:
* ==
: égal à
* !=
: différent de
* >
: supérieur à
* <
: inférieur à
* >=
: supérieur ou égal à
* <=
: inférieur ou égal à
Ces opérateurs renvoient une valeur booléenne (True
ou False
).
Opérateurs Logiques
Les opérateurs logiques permettent de combiner plusieurs conditions. Les principaux opérateurs logiques sont:
* and
: et logique (les deux conditions doivent être vraies)
* or
: ou logique (au moins une des conditions doit être vraie)
* not
: non logique (inverse la valeur de la condition)
Exemple :
age = 25
nationalite = "Française"
if age >= 18 and nationalite == "Française":
print("Vous êtes majeur et de nationalité française.")
Ce qu'il faut retenir
if
, else
et elif
permettent de contrôler le flux d'exécution d'un programme en fonction de la valeur de conditions.if
exécute un bloc de code si une condition est vraie.else
exécute un bloc de code alternatif si la condition de if
est fausse.elif
permet de tester plusieurs conditions successivement.==
, !=
, >
, <
, >=
, <=
) et des opérateurs logiques (and
, or
, not
).
FAQ
-
Quelle est la différence entre
if
etelif
?
if
est utilisé pour la première condition, tandis queelif
est utilisé pour les conditions suivantes lorsque la condition précédente est fausse. On ne peut avoir qu'un seulif
mais plusieurselif
. -
Peut-on avoir un
else
sansif
?
Non,else
doit toujours être associé à unif
ou unelif
. -
Que se passe-t-il si aucune condition
if
ouelif
n'est vraie et qu'il n'y a pas deelse
?
Dans ce cas, aucun bloc de code n'est exécuté et le programme continue son exécution à la ligne suivante après la structure conditionnelle.