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

  • Les structures conditionnelles if, else et elif permettent de contrôler le flux d'exécution d'un programme en fonction de la valeur de conditions.
  • La structure if exécute un bloc de code si une condition est vraie.
  • La structure else exécute un bloc de code alternatif si la condition de if est fausse.
  • La structure elif permet de tester plusieurs conditions successivement.
  • Il est possible d'imbriquer des structures conditionnelles.
  • Les conditions utilisent des opérateurs de comparaison (==, !=, >, <, >=, <=) et des opérateurs logiques (and, or, not).

FAQ

  • Quelle est la différence entre if et elif ?

    if est utilisé pour la première condition, tandis que elif est utilisé pour les conditions suivantes lorsque la condition précédente est fausse. On ne peut avoir qu'un seul if mais plusieurs elif.
  • Peut-on avoir un else sans if ?

    Non, else doit toujours être associé à un if ou un elif.
  • Que se passe-t-il si aucune condition if ou elif n'est vraie et qu'il n'y a pas de else ?

    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.