Thanks to visit codestin.com
Credit goes to www.datacamp.com

Accéder au contenu principal

Instructions IF, ELIF et ELSE en Python

Dans ce tutoriel, vous apprendrez exclusivement les instructions if else en Python.
Actualisé 6 août 2025  · 9 min de lecture

Instructions IF, ELIF et ELSE en Python

Lorsque vous écrivez du code dans n'importe quel langage, vous devez contrôler le déroulement de votre programme. C'est généralement le cas lorsqu'il y a une prise de décision à prendre : vous souhaitez exécuter une certaine ligne de code si une condition est remplie, et un autre ensemble de code si ce n'est pas le cas. En Python, vous disposez des instructionsif, elif et else à cette fin. Dans ce tutoriel, vous travaillerez à partir d'un exemple pour découvrir la simple instruction if, puis vous passerez progressivement aux instructions if-else et enfin aux instructions if-elif-else. Vous découvrirez également l'imbrication et verrez un exemple d'imbrication. Commençons...

Instruction if simple

Il s'agit de l'exemple le plus simple d'une instruction conditionnelle. La syntaxe est la suivante :

if(condition):
    indented Statement Block 

Le bloc de lignes indentées de la même manière après les deux points (:) sera exécuté chaque fois que la condition est vraie.

Instructions IF, ELIF et ELSE en Python
Source : python par Programiz

Par exemple, supposons que vous enregistrez les notes obtenues par un étudiant dans un cours particulier. La note totale est de 100, avec 50 points pour le travail théorique et 50 pour le travail pratique. Vous souhaitez afficher un message d'erreur ou un avertissement si le score dépasse 100.

score_theory = 40
score_practical = 45
if(score_theory + score_practical > 100):
    print("Invalid score. Please check the input.")

# no output expected

Le deux-points (:) est important car il sépare la condition des instructions à exécuter après l'évaluation de la condition. Ceci est particulièrement important pour les instructions où il n'y a qu'une seule instruction et où l'( ) e de parenthèse n'est pas utilisée. Par exemple :

score_theory = 40
score_practical = 45
if score_theory + score_practical > 100: # End of condition
    print("Invalid score. Please check the input.")

# no output expected

L'instruction if ci-dessus vérifie la condition « if » et détermine que l'instruction (40 + 45 = 85) est supérieure à 100, donc FAUSSE, et n'affiche donc pas l'avertissement. Déclarons TRUE et observons ce qui se passe :

score_theory = 50
score_practical = 55
if(score_theory + score_practical > 100):
    print("Invalid score. Please check the input.")

# Invalid score. Please check the input.

Supposons que vous souhaitiez aller plus loin et afficher un message lorsque le score total se trouve effectivement dans la plage, c'est-à-dire inférieur à 100. C'est dans ce cas que l'instruction if-else peut s'avérer utile.

Test unique : instruction if-else

L'instruction if-else est utilisée pour coder de la même manière que vous l'utiliseriez en anglais. La syntaxe de l'instruction if-else est la suivante :

if(condition):
    Indented statement block for when condition is TRUE
else:
    Indented statement block for when condition is FALSE

Instructions IF, ELIF et ELSE en Python
Source : python par Programiz

Essayons de travailler sur le code ci-dessus et de redéfinir le problème : Lorsque vous enregistrez la note d'un cours, vous souhaitez additionner les points obtenus pour la partie théorique et la partie pratique afin d'obtenir la note totale. Si le score total est inférieur ou égal à 100, vous souhaitez afficher le message 'Score correct', sinon, affichez un avertissement comme précédemment.

score_theory = 40
score_practical = 45
if(score_theory + score_practical > 100):
    print("Please check the input. Score exceeds total possible score.")
else:
    print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  85

Conseil : Si vous n'avez qu'une seule ligne de code à exécuter plutôt que plusieurs lignes dans le code suivant la condition, vous pouvez tout placer sur la même ligne. Il ne s'agit pas d'une règle, mais simplement d'une pratique courante parmi les programmeurs. Réécrivez le code ci-dessus dans ce style :

score_theory = 40
score_practical = 45
# Single statement: if(condition): Statement for when condition is true
if (score_theory + score_practical > 100): print("Please check the input. Score exceeds total possible score.")
# Single statement: if(condition): Statement for when condition is false
else: print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  85

Maintenant, imaginez un cas où l'un des scores dépasse 50, mais où le total reste inférieur ou égal à 100. Que pensez-vous qu'il se passerait alors ?

score_theory = 60
score_practical = 40
if(score_theory + score_practical > 100):
    print("Please check the input. Score exceeds total possible score.")
else:
    print("Score validated. Your total is: ", score_theory + score_practical)

# Score validated. Your total is:  100

Ceci est incorrect, car vous savez que la limite maximale pour les notes individuelles en théorie ou en pratique ne doit pas dépasser 50. Comment pouvez-vous représenter cela dans le code ? La réponse : l'instruction if-elif-else.

Tests multiples : Instruction if-elif-else en Python

Analysons le problème que nous avons rencontré jusqu'à présent et essayons de le formuler clairement avant de passer au code.

  • Étape 1. Veuillez saisir les deux scores : score_theory et score_practical

  • Étape 2. Veuillez vérifier qu'aucun des scores ne dépasse le score maximal possible, soit 50. Cela résout également le problème du score total ne dépassant pas 100. Si l'une des deux valeurs est supérieure à 50, affichez l'avertissement et quittez.

    • 2.1 Vérifier score_theory
    • 2.2 Vérifier score_practical
  • Étape 3. Si aucun des deux ne dépasse le score, affichez 'Score correct' et quittez.

# Step 1
score_theory = 60
score_practical = 20

if(score_theory > 50):
    print("Please check the input score for 'Theory'.") # Step 2.1
elif(score_practical > 50):
    print("Please check the input score for 'Practical'.")  # Step 2.2
else:
    print("Score validated. Your total is: ", score_theory + score_practical) # Step 3

# Please check the input score for 'Theory'.

La syntaxe suivie par l'instruction if-else-if est la suivante :

if(Condition1):
    Indented statement block for Condition1
elif(Condition2):
     Indented statement block for Condition2
else:
     Alternate statement block if all condition checks above fails

Instructions IF, ELIF et ELSE en Python
Source : python par Programiz

En réalité, une manière élaborée de voir l'effet de l'instruction if-elif-else de Python comme une simple instruction if-else consiste à l'écrire comme suit :

score_theory = 60
score_practical = 20

if(score_theory > 50):
    print("Please check the input score for 'Theory'.")
else:
    if(score_practical > 50):
        print("Please check the input score for 'Practical'.")  
    else:
        print("Score validated. Your total is: ", score_theory + score_practical)

# Please check the input score for 'Theory'.

L'instruction elif facilite réellement l'écriture du code. Imaginez que le problème devienne plus complexe : suivre chaque instruction if-else dans une autre instruction if pourrait rapidement devenir un véritable casse-tête.

Continuons à travailler sur le même exemple. Maintenant, imaginez que vous souhaitiez suivre plusieurs cours, par exemple : 'Science' et 'anglais'. Le score total pour les deux reste identique, soit 100. Cependant, pour les sciences, la répartition entre théorie et pratique est de 50-50, mais pour l'anglais, elle est de 60-40. Pourriez-vous toujours utiliser les formats ci-dessus ?

OUI ! Et vous pouvez le faire facilement grâce au concept des instructions if imbriquées.

Instructions if imbriquées en Python

Lorsque vous avez une instruction if à l'intérieur d'une autre instruction if, on parle d'imbrication dans le monde de la programmation. Il n'est pas nécessaire de toujours utiliser une simple instruction if, mais vous pouvez utiliser le concept des instructions if, if-else et même if-elif-else combinées pour former une structure plus complexe.

Codons l'exemple présenté ci-dessus :

coursework = "English"
score_theory = 53
score_practical = 35

if(coursework == "Science" or coursework == "science"):
    if(score_theory > 50):
        print("Please check the input score for 'Science: Theory'.")
    elif(score_practical > 50):
            print("Please check the input score for 'Science: Practical'.")  
    else:
        print("Score validated for Science. Your total is: ", score_theory + score_practical)             
elif(coursework == "English" or coursework == "english"):
    if(score_theory > 60):
        print("Please check the input score for 'English: Theory'.")
    elif(score_practical > 40):
            print("Please check the input score for 'English: Practical'.")  
    else:
        print("Score validated for English. Your total is: ", score_theory + score_practical)
else: print("Coursework not recognised. Please enter score for either Science or English.")

# Score validated for English. Your total is:  88

Remarquez-vous l'utilisation de l'or dans le code ci-dessus ? Il est utilisé afin d'évaluer 'Science' et 'science' comme étant le même cours, et il en va de même pour 'anglais' et 'anglais'. Vous pouvez utiliser des opérateurs booléens tels que or et and pour combiner plusieurs conditions. Cependant, il est important de bien comprendre la sortie booléenne de telles instructions combinées afin de saisir pleinement le flux de contrôle de votre programme.

Nous pouvons réécrire le code ci-dessus afin de vérifier les scores dans la même instruction. Cependant, cela rend le code moins lisible et les instructions parfois difficiles à déboguer.

coursework = "English"
score_theory = 53
score_practical = 78

if(coursework == "Science" or coursework == "science"):
    if(score_theory > 50 or score_practical > 50):
        # Can't distinguish the error in Science: theory or Science: Practical
        print("Please check the input score for Science.")
    else: print("Score validated for Science. Your total is: ", score_theory + score_practical)             
elif(coursework == "English" or coursework == "english"):
    if(score_theory > 60 or score_practical > 40):
        # Can't distinguish the error in English: theory or English: Practical
        print("Please check the input score for English.")
    else: print("Score validated for English. Your total is: ", score_theory + score_practical)
else: print("Coursework not recognised. Please enter score for either Science or English.")

# Please check the input score for English.

Voilà!

Dans ce tutoriel, vous avez abordé l'un des principaux mécanismes de contrôle de flux disponibles en Python. Vous avez travaillé avec un exemple à plusieurs niveaux pour observer les variations de l'instruction if dans la pratique. Pour en savoir plus sur Python, veuillez consulter le cours Introduction à Python pour la science des données de DataCamp.

FAQ Python IF, ELIF et ELSE

Qu'est-ce que l'instruction if en Python ?

L'instruction d'if est utilisée pour exécuter un bloc de code si une certaine condition est vraie.

Comment utiliser l'instruction elif en Python ?

elif L'instruction « else if » (abréviation de « else if ») est utilisée pour spécifier des conditions supplémentaires à tester après l'instruction if initiale. Si la condition de l'instruction « if » est fausse et que la condition de l'instruction « elif » est vraie, le bloc de code associé à l'instruction «elif» sera exécuté.

Puis-je avoir plusieurs instructions elif dans un seul bloc if ?

Oui, vous pouvez avoir plusieurs instructions d'elif dans un seul bloc d'if.

Qu'est-ce que l'instruction else en Python ?

L'instruction « else » est utilisée pour spécifier un bloc de code qui doit être exécuté si aucune des conditions des instructions « if » et « elif » précédentes n'est vraie.

Puis-je utiliser l'instruction else sans aucune instruction if ou elif ?

Non, l'instruction « else » doit être utilisée conjointement avec une instruction « if ». Il ne peut pas être utilisé seul.

Sujets

Cours Python

Cours

Introduction à Python

4 h
6.6M
Apprenez les bases de l’analyse de données avec Python en quatre heures et explorez ses principaux packages.
Afficher les détailsCodestin Search App
Commencer le cours
Voir plusCodestin Search App
Apparenté

Didacticiel

if…elif…else dans le tutoriel Python

Découvrez comment créer des instructions if…elif…else en Python.
DataCamp Team's photo

DataCamp Team

Didacticiel

Python Switch Case Statement : Guide du débutant

Découvrez le match-case de Python : un guide sur sa syntaxe, ses applications en data science, ML, et une analyse comparative avec le switch-case traditionnel.
Matt Crabtree's photo

Matt Crabtree

Didacticiel

Tutoriel sur les méthodes .append() et .extend() de Python

Apprenez à utiliser les méthodes .append() et .extend() pour ajouter des éléments à une liste.
DataCamp Team's photo

DataCamp Team

Didacticiel

Méthode index() de Python expliquée à l'aide d'exemples

Découvrez comment utiliser la fonction index() de Python pour trouver la position d'éléments dans des listes.
Sejal Jaiswal's photo

Sejal Jaiswal

Didacticiel

Comment tronquer une chaîne en Python : Trois méthodes distinctes

Apprenez les principes fondamentaux de la suppression des caractères de début et de fin d'une chaîne en Python.
Adel Nehme's photo

Adel Nehme

Didacticiel

Comment arrondir à 2 décimales en Python

Découvrez comment arrondir un nombre à deux décimales dans Python pour une plus grande précision à l'aide de techniques telles que round(), format() et les techniques de formatage de chaînes.
Allan Ouko's photo

Allan Ouko

Voir plusVoir plus