if else en Python : Guide des Déclarations Conditionnelles

Maîtrisez les déclarations if else de Python avec des exemples clairs. Apprenez la syntaxe, les meilleures pratiques et les cas d'usage courants. Inclut des exemples de code interactifs et des tutoriels.

La déclaration if else en Python fournit une prise de décision bidirectionnelle en exécutant un bloc de code lorsqu'une condition est vraie et un autre bloc lorsque la condition est fausse. Contrairement à une simple déclaration if qui ne fait rien lorsque la condition est fausse, if else garantit que l'un des deux chemins de code s'exécutera toujours. Cela est essentiel pour créer des programmes qui doivent gérer à la fois les scénarios de succès et d'échec.

Syntaxe de Base de if else

La déclaration if else étend la déclaration if de base en ajoutant une action alternative lorsque la condition s'évalue à False.

if condition:
    # code to execute if condition is True
    statement1
else:
    # code to execute if condition is False
    statement2

Le mot-clé else capture tout ce qui n'est pas capturé par la condition if, agissant comme un "attrape-tout" pour les scénarios non couverts par la déclaration if. Python utilise deux points (:) après les mots-clés if et else, suivis de blocs de code indentés.

Exemple 1 : Déclaration if else Simple

a = 200
b = 33

if b > a:
    print("b is greater than a")
else:
    print("b is not greater than a")
Sortie:
b n'est pas supérieur à a

Since 33 is not greater than 200, the condition is false, so the else block executes.

Comment Fonctionne if else

La déclaration if else suit un flux d'exécution simple :

  1. Python évalue la condition après le mot-clé if
  2. Si la condition est True, le premier bloc indenté s'exécute et le bloc else est ignoré
  3. Si la condition est False, le premier bloc est ignoré et le bloc else s'exécute
  4. Après que l'un ou l'autre bloc soit terminé, l'exécution continue avec le code après toute la structure if else

Exemple : Vérification de Température

temperature = 15

if temperature > 20:
    print("It's warm outside")
else:
    print("It's cool outside")

print("Have a nice day!")
Sortie:
Il fait frais dehors
Bonne journée !

La déclaration print finale s'exécute quelle que soit la branche prise.

Comparer les Valeurs avec if else

La déclaration if else utilise couramment des opérateurs de comparaison pour prendre des décisions basées sur des valeurs numériques ou de chaîne.

Exemple 1 : Comparaison de Nombres

number = 7

if number % 2 == 0:
    print("The number is even")
else:
    print("The number is odd")
Sortie:
Le nombre est impair

Exemple 2 : Comparaison de Chaînes

username = "admin"

if username == "admin":
    print("Welcome, Administrator!")
else:
    print("Welcome, User!")
Sortie:
Bienvenue, Administrateur !

Exemple 3 : Vérification d'Âge

age = 16

if age >= 18:
    print("You are eligible to vote")
else:
    print("You are not eligible to vote yet")
Sortie:
Vous n'êtes pas encore éligible pour voter

Déclarations Multiples dans les Blocs if else

Les blocs if et else peuvent contenir plusieurs déclarations, tant qu'ils maintiennent une indentation cohérente.

Exemple :

score = 85

if score >= 90:
    print("Excellent performance!")
    print("You earned an A grade")
    grade = "A"
    bonus_points = 10
else:
    print("Good effort!")
    print("Keep working hard")
    grade = "B"
    bonus_points = 5

print(f"Your grade is: {grade}")
print(f"Bonus points: {bonus_points}")
Sortie:
Bon effort !
Continuez à travailler dur
Votre note est : B
Points bonus : 5

if else sur Une Ligne (Opérateur Ternaire)

Pour des conditions simples avec des déclarations uniques, Python vous permet d'écrire if else sur une ligne, créant un code plus concis.

Format Standard :

age = 20

if age >= 18:
    status = "adult"
else:
    status = "minor"

print(status)

Format sur Une Ligne (Opérateur Ternaire) :

age = 20
status = "adult" if age >= 18 else "minor"
print(status)
Sortie:
adulte

More Examples:

# Example 1: Maximum of two numbers
a = 10
b = 20
max_value = a if a > b else b
print(f"Maximum: {max_value}")  # Output: Maximum: 20

# Example 2: Pass/Fail determination
marks = 75
result = "Pass" if marks >= 50 else "Fail"
print(result)  # Output: Pass

# Example 3: Sign determination
number = -5
sign = "Positive" if number > 0 else "Non-positive"
print(sign)  # Output: Non-positive

Cette syntaxe compacte est particulièrement utile pour les affectations simples et les conditions rapides.

Combiner les Conditions avec les Opérateurs Logiques

Vous pouvez utiliser les opérateurs and, or et not pour créer des conditions complexes dans les déclarations if else.

Exemple 1 : Utilisation de l'Opérateur and

age = 25
has_license = True

if age >= 18 and has_license:
    print("You can drive")
else:
    print("You cannot drive")
Sortie:
Vous pouvez conduire

Exemple 2 : Utilisation de l'Opérateur or

day = "Saturday"

if day == "Saturday" or day == "Sunday":
    print("It's the weekend!")
else:
    print("It's a weekday")
Sortie:
C'est le week-end !

Exemple 3 : Utilisation de l'Opérateur not

is_raining = False

if not is_raining:
    print("You don't need an umbrella")
else:
    print("Take an umbrella")
Sortie:
Vous n'avez pas besoin de parapluie

Exemple 4 : Vérification de Plage de Température

temperature = 35

if temperature > 30 and temperature < 40:
    print("It's a hot day!")
else:
    print("Temperature is moderate")
Sortie:
C'est une journée chaude !

Déclarations if else Imbriquées

Vous pouvez placer des déclarations if else à l'intérieur d'autres déclarations if else pour gérer plusieurs niveaux de prise de décision.

Exemple 1 : Imbrication de Base

number = 10

if number >= 0:
    if number == 0:
        print("Number is zero")
    else:
        print("Number is positive")
else:
    print("Number is negative")
Sortie:
Le nombre est positif

Exemple 2 : Classification de Notes avec Imbrication

marks = 85

if marks >= 50:
    print("You passed!")
    if marks >= 90:
        print("Grade: A - Excellent!")
    else:
        print("Grade: B - Good job!")
else:
    print("You failed")
    print("Please retake the exam")
Sortie:
Vous avez réussi !
Note : B - Bon travail !

Exemple 3 : Authentification Utilisateur Multi-Niveaux

username = "admin"
password = "secret123"

if username == "admin":
    if password == "secret123":
        print("Access granted")
        print("Welcome to admin panel")
    else:
        print("Incorrect password")
else:
    print("User not found")
Sortie:
Accès accordé
Bienvenue au panneau d'administration

Bien que l'imbrication soit puissante, une imbrication excessive peut rendre le code plus difficile à lire—envisagez d'utiliser elif pour une logique multi-condition plus propre.

Valider l'Entrée Utilisateur avec if else

La déclaration if else est essentielle pour la validation des entrées et la gestion des erreurs.

Exemple 1 : Vérification de Chaîne Vide

username = ""

if len(username) > 0:
    print(f"Welcome, {username}!")
else:
    print("Error: Username cannot be empty")
Sortie:
Erreur : Le nom d'utilisateur ne peut pas être vide

Exemple 2 : Validation de Longueur de Mot de Passe

password = "abc"

if len(password) >= 8:
    print("Password is valid")
else:
    print("Password must be at least 8 characters")
Sortie:
Le mot de passe doit contenir au moins 8 caractères

Exemple 3 : Validation de Plage Numérique

age = 150

if age > 0 and age <= 120:
    print(f"Age {age} is valid")
else:
    print("Invalid age entered")
Sortie:
Âge entré invalide

Exemple 4 : Vérification d'Appartenance à une Liste

allowed_users = ["alice", "bob", "charlie"]
current_user = "david"

if current_user in allowed_users:
    print("Access granted")
else:
    print("Access denied")
Sortie:
Accès refusé

Extension avec elif

Bien que cette page se concentre sur if else, vous pouvez ajouter elif (else if) entre if et else pour tester plusieurs conditions séquentiellement.

temperature = 22

if temperature > 30:
    print("It's hot outside!")
elif temperature > 20:
    print("It's warm outside")
elif temperature > 10:
    print("It's cool outside")
else:
    print("It's cold outside!")
Sortie:
Il fait chaud dehors

La déclaration else doit venir en dernier et agit comme valeur par défaut lorsqu'aucune autre condition n'est vraie.

Cas d'Usage Courants

Cas d'Usage 1 : Système de Connexion

stored_password = "python123"
entered_password = "python123"

if entered_password == stored_password:
    print("Login successful")
else:
    print("Invalid password")
Sortie:
Connexion réussie

Cas d'Usage 2 : Calculateur de Remise

purchase_amount = 120

if purchase_amount >= 100:
    discount = purchase_amount * 0.10
    print(f"You get a 10% discount: ${discount}")
else:
    print("No discount available")
Sortie:
Vous obtenez une remise de 10% : $12.0

Cas d'Usage 3 : Système Réussi/Échoué

exam_score = 45
passing_score = 50

if exam_score >= passing_score:
    print("Congratulations! You passed")
else:
    print(f"Sorry, you need {passing_score - exam_score} more points to pass")
Sortie:
Désolé, vous avez besoin de 5 points de plus pour réussir

Cas d'Usage 4 : Vérificateur d'Extension de Fichier

filename = "document.pdf"

if filename.endswith(".pdf"):
    print("This is a PDF file")
else:
    print("This is not a PDF file")
Sortie:
Ceci est un fichier PDF

Cas d'Usage 5 : Vérificateur d'Année Bissextile

year = 2024

if year % 4 == 0:
    print(f"{year} is a leap year")
else:
    print(f"{year} is not a leap year")
Sortie:
2024 est une année bissextile

Erreurs Courantes à Éviter

Erreur 1 : Deux-Points Manquant

# Wrong
if number > 0
    print("Positive")
else
    print("Not positive")

# Correct
if number > 0:
    print("Positive")
else:
    print("Not positive")

Erreur 2 : Indentation Incohérente

# Wrong
if age >= 18:
    print("Adult")
else:
  print("Minor")  # Different indentation

# Correct
if age >= 18:
    print("Adult")
else:
    print("Minor")

Erreur 3 : Utiliser elif Après else

# Wrong
if x > 0:
    print("Positive")
else:
    print("Not positive")
elif x < 0:  # SyntaxError
    print("Negative")

# Correct
if x > 0:
    print("Positive")
elif x < 0:
    print("Negative")
else:
    print("Zero")

Erreur 4 : Blocs de Code Vides

# Wrong
if condition:
    # Code here
else:
    # This will cause an error

# Correct - use pass for placeholder
if condition:
    print("Condition met")
else:
    pass  # Do nothing

Utilisez pass comme espace réservé

Meilleures Pratiques

Pratique 1 : Gardez les Conditions Simples et Lisibles

# Less readable
if not (age < 18 or not has_permission):
    print("Allowed")

# More readable
if age >= 18 and has_permission:
    print("Allowed")

Pratique 2 : Utilisez des Noms de Variables Significatifs

# Poor
if x > 100:
    y = True

# Better
if purchase_amount > 100:
    eligible_for_discount = True

Pratique 3 : Gérez les Deux Chemins Explicitement

# When both outcomes matter, use if else
file_exists = True

if file_exists:
    print("Loading file...")
else:
    print("Creating new file...")

Lorsque les deux résultats sont importants, utilisez if else

Pratique 4 : Évitez l'Imbrication Profonde

# Harder to read
if condition1:
    if condition2:
        if condition3:
            action()

# Better - use elif or logical operators
if condition1 and condition2 and condition3:
    action()

Essayez Vous-Même

Expérimentez avec les déclarations if else

Prêt
main.py
Console de Sortie 0 ms
// Cliquez sur "Exécuter le Code" pour voir les résultats

Sujets Connexes

Questions Fréquemment Posées

Quelle est la différence entre if et if else en Python ?

Une déclaration if n'exécute du code que lorsque la condition est vraie et ne fait rien sinon. Une déclaration if else garantit que l'un des deux blocs de code s'exécutera—soit le bloc if lorsque la condition est vraie, soit le bloc else lorsqu'elle est fausse.

Puis-je avoir un if else sans elif ?

Oui, if else fonctionne parfaitement sans elif. Le mot-clé elif n'est nécessaire que lorsque vous voulez tester plusieurs conditions séquentiellement.

Ai-je besoin de parenthèses autour des conditions dans les déclarations if else de Python ?

Non, les parenthèses sont optionnelles. if (x > 5): et if x > 5: sont tous deux valides, bien que le dernier soit plus couramment utilisé en Python.

Puis-je utiliser if else sur une ligne ?

Oui, Python prend en charge l'opérateur ternaire : result = "yes" if condition else "no". Ceci est utile pour les affectations simples.

Que se passe-t-il si j'oublie d'indenter le code dans un bloc else ?

Python lèvera une IndentationError car il nécessite une indentation cohérente pour définir les blocs de code.

else peut-il apparaître seul sans if ?

Non, else doit toujours être associé à une déclaration if précédente. Vous ne pouvez pas utiliser else indépendamment.