Expressions Conditionnelles
Dans ce chapitre, nous abordons l’un des aspects fondamentaux de la programmation en Python — les expressions conditionnelles utilisant les opérateurs if
, else
et elif
.
Ces opérateurs permettent d’exécuter différents blocs de code en fonction de conditions spécifiques, offrant ainsi la possibilité de prendre des décisions dynamiques au sein de vos programmes. La compréhension de ces expressions est essentielle pour développer des applications capables de réagir efficacement à divers types d’entrées et de situations.
Observez comment Alex démontre la polyvalence de ces expressions conditionnelles :
L’instruction if
évalue une condition et exécute un bloc de code si la condition est True
. Si la condition n’est pas True
, les instructions else
et elif
(abréviation de « else if ») permettent de spécifier des conditions supplémentaires à vérifier et d’exécuter un code différent en conséquence.
Voici leur fonctionnement :
if
L’instruction conditionnelle principale évalue si une condition est True
. Elle initie une séquence conditionnelle. Les instructions if
ne peuvent apparaître qu’une seule fois au début d’une séquence. Si la condition est évaluée à True
, le bloc de code indenté qui suit l’instruction if
sera exécuté.
elif
Abréviation de « else if », l’instruction elif
permet de vérifier des conditions supplémentaires si la condition initiale du if
ou toute condition précédente du elif
était False
. Il est possible d’inclure plusieurs instructions elif
après une instruction if
pour gérer divers scénarios, chacune avec sa propre condition.
else
Cette instruction agit comme solution de repli pour les cas non spécifiquement traités par les conditions précédentes if
et elif
. Il ne peut y avoir qu’une seule instruction else
à la fin d’une séquence d’instructions if
, et elle ne nécessite pas de condition.
Exemples d’applications
Commençons par une instruction simple if
/ else
pour prendre une décision basée sur une seule condition. Ici, nous cherchons à déterminer si un article d’épicerie doit être réapprovisionné en fonction de son niveau de stock actuel :
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
Ce diagramme de flux illustre les chemins de décision que votre interpréteur Python suivrait dans l'exemple précédent avec if-else
:
Ensuite, utilisation de l'instruction elif
dans une application légèrement plus complexe. Dans cette application, les instructions if
/ elif
/ else
sont utilisées pour appliquer des taux de remise en fonction des coûts totaux afin d'encourager des achats plus importants.
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
Ce diagramme de flux illustre le processus d'application des remises en fonction du coût total à l'aide des instructions if
, elif
, else
:
Dans l'application suivante, nous introduisons des conditions if-else
imbriquées afin de démontrer un processus de prise de décision plus granulaire. En intégrant une structure if-else
à l'intérieur d'une autre, il est possible d'effectuer une série de choix selon plusieurs critères.
Cet exemple pratique illustre la manière dont un magasin d'alimentation peut gérer ses stocks en fonction du type de produit et de conditions spécifiques, telles que le nombre de jours depuis la livraison ou le niveau de stock.
# Initial conditions product = 'Non-Perishable' stock = 70 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
Le diagramme d'arbre de décision suivant représente visuellement la logique imbriquée if-else
utilisée dans l'exemple de code précédent :
Quelques remarques sur la syntaxe
Lors de l'écriture de conditions en Python, il est essentiel de respecter certaines règles de syntaxe. Vous avez peut-être remarqué le rôle crucial des deux-points :
et de l'indentation pour rendre les conditions exécutables.
Examinons l'importance de ces détails :
Deux-points
Considérez le deux-points à la fin d'une instruction if
, elif
ou else
comme un signal indiquant : « Voici ce qu'il faut faire si la condition que je viens de mentionner est vraie. » Le deux-points agit comme un panneau, marquant clairement le début des instructions.
Indentation
Lorsque la condition située au-dessus d'un bloc de code indenté est True
, toutes les lignes de code indentées en dessous sont exécutées. Si ce n'est pas True
, Python ignore ces étapes et passe à la condition suivante.
Bien que ces détails puissent sembler mineurs, ils sont essentiels pour garantir le bon fonctionnement de votre code. À mesure que vous vous familiariserez avec Python, ces pratiques deviendront instinctives.
Excellent travail pour avoir assimilé ces aspects fondamentaux de Python ! Votre compréhension de la structure correcte des instructions de contrôle constitue une base solide pour aborder des tâches de programmation plus complexes. À présent, mettez vos nouvelles compétences à l'épreuve avec un défi complet qui vous permettra d'appliquer ce que vous avez appris dans un contexte pratique.
Swipe to start coding
Créer un système simple de stratégie de remise pour une épicerie qui applique des remises en fonction du type de produit et du jour de la semaine.
- Utiliser les variables d'entrée
product_type
etday_of_week
. - Implémenter des instructions conditionnelles pour vérifier :
- Si
product_type
est"Fruits"
etday_of_week
est"Monday"
, afficher une remise de 10 % sur les fruits ; - Si
product_type
est"Vegetables"
etday_of_week
est"Tuesday"
, afficher une remise de 15 % sur les légumes ; - Si
product_type
est"Dairy"
etday_of_week
est"Wednesday"
, afficher une remise de 20 % sur les produits laitiers ; - Si
product_type
est"Other"
, afficher"No discount available."
; - Utiliser
else
pour gérer les autres cas où aucune condition n'est remplie.
- Si
Exigences de sortie
- Afficher des messages comme :
"10% discount on Fruits today!"
pour chaque condition correspondante. - Si
product_type
est"Other"
, afficher"No discount available."
- Si aucune condition n'est remplie, afficher
"No special discounts today."
Solution
Merci pour vos commentaires !