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") 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 :
- Python évalue la condition après le mot-clé
if - Si la condition est
True, le premier bloc indenté s'exécute et le blocelseest ignoré - Si la condition est
False, le premier bloc est ignoré et le blocelses'exécute - 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!") 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") Le nombre est impair
Exemple 2 : Comparaison de Chaînes
username = "admin"
if username == "admin":
print("Welcome, Administrator!")
else:
print("Welcome, User!") 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") 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}") 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) 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") Â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") 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!") 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") 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") 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") 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") 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") 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
// 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.