Comment utiliser les instructions if/else en Python : Guide du débutant
Introduction
Les instructions conditionnelles sont une partie fondamentale de la programmation, permettant au code de prendre des décisions en fonction de certaines conditions. En Python, l’instruction if/else permet de contrôler le flux d’exécution en exécutant différents blocs de code selon qu’une condition est remplie ou non.
Ce tutoriel Python fournit des étapes sur l’utilisation des instructions if/else, couvrant la syntaxe, les conditions multiples, les instructions imbriquées, les erreurs courantes et les meilleures pratiques.
Qu’est-ce qu’une instruction If/Else en Python ?
Une instruction if/else en Python est une structure de contrôle qui exécute un bloc de code si une condition est évaluée à True, sinon, elle exécute un bloc de code alternatif.
Syntaxe de base
if condition:
# Code to execute if condition is True
else:
# Code to execute if condition is False
exemple:
age = int(input("Enter your age: "))
if age >= 18:
print("You are eligible to vote.")
else:
print("You are not eligible to vote.")
Utilisation de if-elif-else
pour plusieurs conditions
Lorsqu’il s’agit de plusieurs conditions qui doivent être évaluées, la structure if-elif-else
de Python est particulièrement utile. La clause elif
(abréviation de « else if ») vous permet de spécifier des conditions supplémentaires pour vérifier si la condition initiale if
n’est pas remplie. Cela permet de gérer plus structuramment et efficacement des processus de prise de décision complexes au sein de votre code.
exemple:
marks = int(input("Enter your marks: "))
if marks >= 90:
print("Grade: A")
elif marks >= 75:
print("Grade: B")
elif marks >= 60:
print("Grade: C")
else:
print("Grade: F")
Instructions if/else d’une ligne (opérateur ternaire)
En Python, vous pouvez utiliser une syntaxe concise pour des instructions if/else
simples. C’est ce qu’on appelle l’opérateur ternaire. Il s’agit d’une expression conditionnelle d’une ligne qui s’évalue à une valeur basée sur une condition.
exemple:
num = int(input("Enter a number: "))
result = "Even" if num % 2 == 0 else "Odd"
print(result)
Instructions If imbriquées
Les instructions if
imbriquées vous permettent d’évaluer plusieurs conditions au sein d’un seul bloc if
. Ceci est particulièrement utile lorsque vous devez vérifier une série de conditions avant d’exécuter un bloc de code spécifique. En imbriquant les instructions if
, vous pouvez créer un moyen plus structuré et plus efficace de gérer des processus de prise de décision complexes au sein de votre code.
exemple:
num = int(input("Enter a number: "))
if num > 0:
if num % 2 == 0:
print("Positive Even Number")
else:
print("Positive Odd Number")
else:
print("Negative Number or Zero")
Gestion de plusieurs affections avec et
, ou
, non
Python fournit des opérateurs logiques pour combiner plusieurs conditions dans une seule expression. Cela permet des processus de prise de décision plus complexes au sein de votre code. Les opérateurs logiques disponibles en Python sont and
, or
, and not
.
exemple:
temp = int(input("Enter the temperature: "))
if temp > 30 and temp < 40:
print("It's a hot day!")
else:
print("It's not a hot day.")
Example using 'or' operator
if temp > 30 or temp < 10:
print("Temperature is extreme!")
Example using 'not' operator
if not (temp > 30 and temp < 40):
print("It's not a hot day.")
Quand utiliser if/else
vs. match-case
(Python 3.10+)
Avec Python 3.10, l’instruction match-case
fournit une alternative pour certaines vérifications conditionnelles. Cette nouvelle fonctionnalité est particulièrement utile lorsque vous avez une série de conditions à vérifier et que vous souhaitez éviter les instructions if/else
imbriquées. L’instruction match-case
est plus concise et plus facile à lire, ce qui rend votre code plus facile à gérer et plus efficace.
Exemple de match-case
:
def get_day_name(day):
match day:
case 1:
return "Monday"
case 2:
return "Tuesday"
case _:
return "Invalid day"
Comparaison des instructions if/else
et match-case
Caractéristique | Instructions if/else | Déclaration de cas de match |
---|---|---|
Syntaxe | Plus verbeux | Plus concis |
Lisibilité | Peut être complexe pour plusieurs conditions | Plus facile à lire pour plusieurs affections |
Cas d’utilisation | Convient pour les contrôles conditionnels simples | Idéal pour vérifier plusieurs valeurs d’une seule variable |
Performance | Aucune différence significative | Aucune différence significative |
Version de Python | Pris en charge dans toutes les versions de Python | Introduit dans Python 3.10 |
Quand utiliser chaque
- Utilisez
les instructions if/else
pour de simples vérifications conditionnelles ou lorsque vous travaillez avec des versions de Python antérieures à la version 3.10. - Utilisez
des instructions match-case
lorsque vous devez vérifier plusieurs valeurs d’une seule variable, en particulier dans Python 3.10 ou version ultérieure.
Erreurs courantes et conseils de débogage
1. Erreurs d’indentation
Python utilise l’indentation pour définir des blocs de code. L’absence d’indentation provoquera une erreur.
exemple:
if True:
print("This will cause an error!") # IndentationError
Exemple fixe :
if True:
print("This will not cause an error!")
2. Utilisation abusive des opérateurs booléens
Des opérations logiques incorrectes peuvent entraîner des résultats inattendus.
exemple:
if age >= 18 and age <= 60: # Correct
if age >= 18 or <= 60: # Incorrect
3. Gérer les entrées inattendues
Utilisez la gestion des exceptions lors du traitement des entrées utilisateur.
try:
num = int(input("Enter a number: "))
except ValueError:
print("Invalid input! Please enter a number.")
4. Gestion des erreurs avec les instructions If Else
Vous pouvez utiliser la gestion des erreurs avec les instructions if else en Python. Voici un exemple de la procédure à suivre :
try:
# Code that may raise an exception
num = int(input("Enter a number: "))
except ValueError:
# Code to handle the exception
print("Invalid input! Please enter a number.")
else:
# Code to execute if no exception is raised
print("You entered a valid number.")
finally:
# Code to execute regardless of whether an exception was raised
print("Thank you for using this program.")
Foire aux questions
1. Puis-je utiliser plusieurs conditions elif
en Python ?
Oui, vous pouvez ajouter autant de conditions elif
que nécessaire pour vérifier plusieurs scénarios.
if condition1:
# code to execute if condition1 is True
elif condition2:
# code to execute if condition2 is True
elif condition3:
# code to execute if condition3 is True
else:
# code to execute if all conditions are False
2. Quelle est la différence entre if
et elif
en Python ?
Une instruction if
est toujours vérifiée en premier. Si if
est faux, les conditions elif
sont évaluées dans l’ordre.
Voici un tableau mettant en évidence les différences :
si Déclaration | Déclaration elif |
---|---|
Toujours vérifié en premier | Évalué uniquement si si est false |
Peut avoir plusieurs instructions if | Peut avoir plusieurs instructions elif |
Peut avoir un bloc else | Peut avoir un bloc else |
N’oubliez pas qu’un seul bloc de code sera exécuté. Si l’instruction if
est vraie, les blocs elif
et else
seront ignorés. Si l’instruction if
est false, le bloc elif
sera exécuté. Si l’instruction elif
est fausse, le bloc else
sera exécuté.
Voici un exemple d’utilisation de if
, elif
et else
en Python :
num = int(input("Enter a number: "))
if num > 0:
print("The number is positive.")
elif num == 0:
print("The number is zero.")
else:
print("The number is negative.")
3. Comment éviter les erreurs d’indentation dans les instructions Python if ?
Assurez-vous que chaque bloc de code est correctement mis en retrait à l’aide de quatre espaces ou d’une tabulation.
4. Quelle est la meilleure façon de gérer des conditions si/sinon
complexes ?
Pour plus de lisibilité, décomposez les conditions complexes en fonctions plus petites ou utilisez des opérateurs logiques.
Voici un exemple d’utilisation d’opérateurs logiques en Python :
num = int(input("Enter a number: "))
if num > 0 and num % 2 == 0:
print("The number is positive and even.")
elif num > 0 and num % 2 != 0:
print("The number is positive and odd.")
elif num == 0:
print("The number is zero.")
else:
print("The number is negative.")
5. Existe-t-il une alternative à la casse inverse
en Python ?
Oui, Python 3.10 a introduit match-case
, qui se comporte de la même manière qu’une instruction switch
.
Voici un exemple d’utilisation de match-case
en Python :
def match_case_example(argument):
match argument:
case 1:
print("You chose 1.")
case 2:
print("You chose 2.")
case 3:
print("You chose 3.")
case _:
print("Invalid choice.")
Conclusion
Comprendre les instructions if/else
est crucial pour la prise de décision en programmation Python. En maîtrisant la logique conditionnelle, vous pouvez écrire du code plus efficace et sans erreur.
Si vous souhaitez en savoir plus sur Python, consultez ces tutoriels :