Bases

Conditions en Python : if, elif, else pour débutants

Apprenez à utiliser if, elif et else en Python avec une explication simple, des exemples clairs et les erreurs fréquentes à éviter.

Conditions en Python : if, elif, else pour débutants

Les conditions font partie des bases indispensables en Python. Elles permettent à un programme de prendre une décision selon une situation donnée. Par exemple, on peut afficher un message différent si un nombre est positif, négatif ou égal à zéro. En Python, ce mécanisme repose surtout sur trois mots-clés : if, elif et else.

Dans ce tutoriel, nous allons voir à quoi servent ces instructions, comment les écrire correctement, comment les enchaîner, et quelles erreurs éviter quand on débute. L’objectif est de comprendre simplement la logique des conditions, puis de savoir les utiliser dans de petits programmes Python.

Prérequis

  • Savoir lancer un script Python ou utiliser l’interpréteur interactif.
  • Connaître les bases de l’écriture Python : variables, affichage avec print() et indentation simple.
  • Comprendre qu’une comparaison peut produire une valeur vraie ou fausse.

Matériel nécessaire

  • Python 3 installé sur votre ordinateur
  • Un éditeur de code ou l’interpréteur Python
  • Quelques minutes pour tester les exemples

Étapes

  1. Comprendre le rôle d’une condition

    Gros plan réaliste d’un ordinateur portable sur un bureau, affichant un éditeur de code avec un bloc if simple en Python, avec une main près du clavier.
    Photo réaliste d’un ordinateur portable affichant une structure conditionnelle Python avec if, elif et else dans un éditeur de code.

    Une condition sert à exécuter du code seulement dans certains cas. Sans condition, un programme suit les instructions dans l’ordre, de haut en bas. Avec une condition, le programme peut choisir un chemin différent selon le résultat d’un test.

    Ce test renvoie une valeur booléenne, c’est-à-dire True ou False. Si le test est vrai, Python exécute le bloc prévu. S’il est faux, il passe au bloc suivant éventuel, ou continue après la condition.

    Exemple très simple :

    python
    age = 18
    
    if age >= 18:
        print("Vous êtes majeur.")

    Ici, Python vérifie si age >= 18. Si c’est vrai, le message s’affiche. Sinon, rien ne s’affiche dans cet exemple.

    On peut voir une condition comme une question posée au programme :

    • Est-ce que l’âge est supérieur ou égal à 18 ?
    • Si oui, faire une action.
    • Sinon, faire autre chose ou ne rien faire.

    Cette idée est au cœur de très nombreux programmes : contrôle d’accès, validation d’une valeur, choix d’un calcul, affichage d’un message particulier, etc.

  2. Écrire un bloc if simple

    Le mot-clé if signifie « si ». C’est la forme la plus simple d’une condition en Python.

    Sa structure de base est la suivante :

    python
    if condition:
        instruction

    Il faut noter trois éléments importants :

    1. Le mot-clé if.
    2. Une condition après if.
    3. Un deux-points : à la fin de la ligne.

    Les instructions à exécuter si la condition est vraie doivent être indentées. En Python, l’indentation fait partie de la syntaxe. Cela veut dire qu’elle ne sert pas seulement à rendre le code plus lisible : elle indique aussi à Python quel bloc appartient à la condition.

    Exemple :

    python
    temperature = 30
    
    if temperature > 25:
        print("Il fait chaud.")

    Comme temperature > 25 est vrai ici, le message s’affiche.

    Si on change la valeur :

    python
    temperature = 20
    
    if temperature > 25:
        print("Il fait chaud.")

    Cette fois, rien ne s’affiche, car la condition est fausse.

    Un bloc if peut contenir plusieurs lignes :

    python
    solde = 150
    
    if solde > 100:
        print("Solde suffisant.")
        print("Vous pouvez continuer.")

    Dans cet exemple, les deux lignes indentées appartiennent au bloc if. Si la condition est vraie, les deux s’exécutent.

  3. Utiliser else pour le cas contraire

    Vue réaliste serrée d’un ordinateur portable avec une condition Python en cours de lecture et de débogage, avec une main sur le pavé tactile.

    Le mot-clé else signifie « sinon ». Il permet de définir ce qu’il faut faire lorsque la condition du if est fausse.

    Structure :

    python
    if condition:
        instruction_si_vrai
    else:
        instruction_si_faux

    Exemple :

    python
    age = 16
    
    if age >= 18:
        print("Vous êtes majeur.")
    else:
        print("Vous êtes mineur.")

    Ici, si la condition age >= 18 est vraie, Python affiche le premier message. Sinon, il affiche le second.

    Avec else, on couvre donc les deux cas :

    • cas vrai ;
    • cas faux.

    C’est souvent la manière la plus claire d’écrire un choix binaire.

    Autre exemple :

    python
    mot_de_passe_correct = False
    
    if mot_de_passe_correct:
        print("Connexion autorisée.")
    else:
        print("Connexion refusée.")

    Ici, on utilise directement une valeur booléenne. Si elle vaut True, le premier bloc s’exécute. Si elle vaut False, c’est le bloc else.

    Il est important de comprendre que else ne contient pas de condition. Il représente simplement tout ce qui n’a pas été pris par le if.

  4. Ajouter plusieurs cas avec elif

    Le mot-clé elif signifie « sinon si ». Il permet de tester plusieurs cas successifs.

    Structure :

    python
    if condition_1:
        bloc_1
    elif condition_2:
        bloc_2
    else:
        bloc_3

    Python commence par tester la première condition. Si elle est vraie, il exécute son bloc et s’arrête pour cette structure. Sinon, il teste la condition suivante avec elif. Si aucune condition n’est vraie, le bloc else est exécuté, s’il existe.

    Exemple classique :

    python
    note = 14
    
    if note >= 16:
        print("Très bien")
    elif note >= 12:
        print("Bien")
    elif note >= 10:
        print("Moyenne")
    else:
        print("Insuffisant")

    Avec note = 14, Python affiche Bien.

    Pourquoi ?

    • note >= 16 est faux ;
    • note >= 12 est vrai ;
    • Python exécute ce bloc et ne teste pas les suivants.

    C’est un point très important : dans une chaîne if / elif / else, le premier test vrai gagne.

    Autre exemple :

    python
    heure = 8
    
    if heure < 12:
        print("Bonjour")
    elif heure < 18:
        print("Bon après-midi")
    else:
        print("Bonsoir")

    Si heure vaut 8, le programme affiche Bonjour. Si elle vaut 15, il affiche Bon après-midi. Si elle vaut 20, il affiche Bonsoir.

    On peut mettre autant de elif que nécessaire, mais il vaut mieux garder une logique claire et simple.

  5. Bien comprendre les comparaisons

    Les conditions utilisent souvent des opérateurs de comparaison. Ces opérateurs permettent de comparer des valeurs entre elles.

    Voici les comparaisons les plus courantes :

    • == : égal à
    • != : différent de
    • > : supérieur à
    • < : inférieur à
    • >= : supérieur ou égal à
    • <= : inférieur ou égal à

    Exemples :

    python
    x = 10
    
    if x == 10:
        print("x vaut 10")
    
    if x != 5:
        print("x n'est pas égal à 5")
    
    if x > 3:
        print("x est plus grand que 3")

    Quand on débute, une erreur très fréquente consiste à confondre = et ==.

    • = sert à affecter une valeur à une variable.
    • == sert à comparer deux valeurs.

    Exemple correct :

    python
    nombre = 7
    
    if nombre == 7:
        print("Le nombre vaut 7")

    Les comparaisons peuvent aussi porter sur des chaînes de caractères :

    python
    couleur = "bleu"
    
    if couleur == "bleu":
        print("La couleur est bleu")
    else:
        print("La couleur est différente")

    Dans ce cas, il faut écrire exactement la valeur attendue, avec la même orthographe.

  6. Combiner plusieurs conditions

    Il est possible de combiner plusieurs tests dans une même condition. En Python, on utilise souvent and, or et not.

    • and : toutes les conditions doivent être vraies ;
    • or : au moins une condition doit être vraie ;
    • not : inverse le résultat.

    Exemple avec and :

    python
    age = 20
    carte_identite = True
    
    if age >= 18 and carte_identite:
        print("Entrée autorisée")

    Ici, il faut être majeur et avoir la carte d’identité.

    Exemple avec or :

    python
    jour = "samedi"
    
    if jour == "samedi" or jour == "dimanche":
        print("C'est le week-end")

    Si l’une des deux comparaisons est vraie, le message s’affiche.

    Exemple avec not :

    python
    connecte = False
    
    if not connecte:
        print("Veuillez vous connecter")

    Comme connecte vaut False, l’expression not connecte devient vraie.

    On peut bien sûr combiner plusieurs opérateurs, mais pour un débutant, il est conseillé de rester lisible. Si la condition devient difficile à comprendre, il peut être utile de la découper en plusieurs étapes avec des variables simples.

  7. Respecter l’ordre des tests

    Dans une structure contenant plusieurs branches, l’ordre des conditions est essentiel. Comme Python s’arrête au premier cas vrai, une mauvaise organisation peut produire un résultat inattendu.

    Regardons cet exemple :

    python
    note = 17
    
    if note >= 10:
        print("Admis")
    elif note >= 16:
        print("Très bien")

    Avec note = 17, Python affiche Admis, pas Très bien. Pourquoi ? Parce que le premier test note >= 10 est déjà vrai, donc Python n’atteint jamais le elif.

    Pour corriger cela, il faut placer les cas les plus spécifiques ou les plus exigeants avant les cas plus larges :

    python
    note = 17
    
    if note >= 16:
        print("Très bien")
    elif note >= 10:
        print("Admis")
    else:
        print("Refusé")

    Cette fois, le résultat correspond mieux à l’intention.

    Ce principe est très utile dès qu’on classe une valeur dans des intervalles : notes, âge, température, score, heure, etc. En général, il faut penser à l’ordre de lecture du programme avant d’écrire les tests.

  8. Écrire des conditions avec input()

    Les conditions deviennent plus intéressantes quand elles utilisent une valeur saisie par l’utilisateur. Pour cela, on peut employer input().

    Exemple simple :

    python
    prenom = input("Quel est votre prénom ? ")
    
    if prenom == "Alice":
        print("Bonjour Alice")
    else:
        print("Bonjour")

    Ici, le programme compare le texte saisi avec la chaîne "Alice".

    Avec des nombres, il faut faire attention : input() renvoie du texte. Si on veut comparer une valeur numérique, on convertit souvent la saisie avec int().

    python
    age = int(input("Quel âge avez-vous ? "))
    
    if age >= 18:
        print("Accès autorisé")
    else:
        print("Accès refusé")

    Dans cet exemple, la conversion avec int() permet de traiter l’âge comme un nombre entier.

    On peut aussi proposer plusieurs réponses :

    python
    reponse = input("Aimez-vous Python ? ")
    
    if reponse == "oui":
        print("Super")
    elif reponse == "un peu":
        print("C'est déjà bien")
    else:
        print("Peut-être plus tard")

    Quand on travaille avec des saisies utilisateur, il faut garder à l’esprit que les réponses peuvent varier. Pour débuter, on peut toutefois rester sur des cas simples et des valeurs attendues clairement définies.

  9. Nicher des conditions

    Une condition peut contenir une autre condition. On parle alors de conditions imbriquées ou de conditions nichées.

    Exemple :

    python
    age = 20
    abonne = True
    
    if age >= 18:
        if abonne:
            print("Accès premium autorisé")
        else:
            print("Abonnement requis")
    else:
        print("Vous devez être majeur")

    Le programme commence par vérifier l’âge. Si la personne est majeure, alors un second test vérifie si elle est abonnée.

    Ce type de structure peut être utile, mais il faut rester prudent : trop de niveaux d’imbrication rendent le code plus difficile à lire. Très souvent, une combinaison avec and ou une réorganisation des tests peut suffire.

    Par exemple, ce code est plus direct :

    python
    age = 20
    abonne = True
    
    if age >= 18 and abonne:
        print("Accès premium autorisé")
    else:
        print("Accès non autorisé")

    Les deux formes existent, mais pour un débutant, la version la plus lisible est souvent la meilleure.

  10. Faire de petits exemples concrets

    Pour bien apprendre les conditions, il est utile de s’exercer avec des cas très concrets. Voici plusieurs mini-exemples.

    Exemple 1 : nombre positif, négatif ou nul

    python
    nombre = 0
    
    if nombre > 0:
        print("Positif")
    elif nombre < 0:
        print("Négatif")
    else:
        print("Nul")

    Ce programme distingue trois situations.

    Exemple 2 : réduction selon l’âge

    python
    age = 12
    
    if age < 12:
        print("Tarif enfant")
    elif age < 18:
        print("Tarif ado")
    else:
        print("Tarif adulte")

    Ici, l’ordre des tests permet de classer l’âge dans une seule catégorie.

    Exemple 3 : vérification d’un score

    python
    score = 85
    
    if score >= 100:
        print("Score maximum atteint")
    elif score >= 50:
        print("Bon score")
    else:
        print("Continuez à jouer")

    Le programme adapte le message au résultat.

    Exemple 4 : pair ou impair

    python
    nombre = 7
    
    if nombre % 2 == 0:
        print("Pair")
    else:
        print("Impair")

    L’opérateur % donne le reste d’une division. Si le reste de la division par 2 est 0, le nombre est pair.

    Exemple 5 : mot de passe simple

    python
    mot_de_passe = input("Mot de passe : ")
    
    if mot_de_passe == "python123":
        print("Accès autorisé")
    else:
        print("Mot de passe incorrect")

    Ce dernier exemple montre comment une condition peut servir à valider une entrée utilisateur.

  11. Lire et déboguer une condition

    Quand une condition ne fonctionne pas comme prévu, il faut apprendre à la relire calmement. Le plus simple est de vérifier chaque élément un par un :

    1. La variable contient-elle bien la valeur attendue ?
    2. L’opérateur de comparaison est-il le bon ?
    3. L’ordre des tests est-il correct ?
    4. L’indentation est-elle cohérente ?

    On peut aussi afficher des valeurs pour comprendre ce qui se passe :

    python
    age = 17
    print(age)
    
    if age >= 18:
        print("Majeur")
    else:
        print("Mineur")

    Ou encore tester directement le résultat d’une comparaison :

    python
    age = 17
    print(age >= 18)

    Le programme affichera False, ce qui aide à comprendre pourquoi le bloc if ne s’exécute pas.

    Cette habitude de vérification est très utile quand on débute. Elle permet de transformer une erreur floue en problème précis : mauvaise valeur, mauvais test ou mauvais placement du bloc.

Erreurs fréquentes & dépannage

  • Oublier les deux-points après if, elif ou else.
  • Mal indenter le bloc d’instructions. En Python, l’indentation est obligatoire.
  • Confondre = et == : le premier affecte une valeur, le second compare.
  • Placer les tests dans le mauvais ordre, ce qui peut empêcher certains cas d’être atteints.
  • Comparer un texte alors qu’on attend un nombre après un input() non converti.
  • Multiplier les conditions compliquées sans chercher la version la plus lisible.

Astuces & pour aller plus loin

  • Commencez par écrire vos conditions en langage naturel avant de les traduire en Python.
  • Testez plusieurs valeurs pour vérifier tous les cas : vrai, faux, limites et cas intermédiaires.
  • Gardez des noms de variables simples comme age, note ou score pour mieux suivre la logique.
  • Quand une condition devient difficile à lire, simplifiez-la ou découpez-la en plusieurs étapes.
  • Utilisez print() temporairement pour observer les valeurs et comprendre le chemin pris par le programme.

Questions fréquentes

Quelle est la différence entre if et elif ?

if ouvre la condition principale. elif ajoute un nouveau test si les tests précédents étaient faux. Il permet donc de gérer plusieurs cas successifs.

Le else est-il obligatoire ?

Non. On peut écrire un if seul, ou un if avec un ou plusieurs elif. else est utile seulement si vous voulez traiter le cas restant.

Pourquoi mon code ne marche-t-il pas alors que la condition semble correcte ?

Vérifiez d’abord l’indentation, les deux-points, l’opérateur de comparaison et la valeur réellement contenue dans vos variables. Avec input(), vérifiez aussi si vous manipulez du texte ou un nombre.

Peut-on mettre plusieurs elif ?

Oui. Vous pouvez en mettre autant que nécessaire pour tester plusieurs situations, tant que l’ensemble reste clair et lisible.

À quoi sert not dans une condition ?

not inverse le résultat d’une expression booléenne. Par exemple, si une variable vaut False, alors not devant cette variable produit une valeur vraie.

Conclusion

Les instructions if, elif et else sont parmi les outils les plus importants en Python. Elles permettent à vos programmes de faire des choix simples, puis de devenir progressivement plus intelligents selon les données qu’ils reçoivent.

Pour bien progresser, retenez surtout trois idées : une condition repose sur un test vrai ou faux, l’ordre des branches compte, et l’indentation doit être irréprochable. En vous entraînant avec de petits exemples concrets, vous développerez rapidement les bons réflexes pour écrire des conditions claires et correctes.

La meilleure suite consiste maintenant à pratiquer : testez vos propres variables, modifiez les exemples, puis essayez de construire un mini-programme qui réagit différemment selon l’âge, la note, l’heure ou une réponse utilisateur.

Commentaires· Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire