Défi : Projet de Synthèse en Gestion de Produit
Félicitations pour avoir atteint ce stade du cours ! Dans ce défi de synthèse, vous allez gérer des produits périssables dans un supermarché, en déterminant les remises en fonction de la date de péremption et des niveaux de stock. Votre objectif est de minimiser le gaspillage tout en maximisant efficacement les ventes grâce à une stratégie de remise adaptée.
Voyons comment vous pouvez traduire des règles métier en code Python !
Scénario
En tant que responsable dans un supermarché, vous êtes chargé de mettre en œuvre une stratégie de remise pour les produits périssables en fonction de leur date de péremption et de leur niveau de stock.
La stratégie de remise est la suivante :
Appliquer une remise de 30 % si le produit expire dans 3 jours ou moins et que le niveau de stock est supérieur à
50
unités ;Appliquer une remise de 20 % si le produit expire dans 4 à 6 jours et que le niveau de stock est supérieur à
50
unités ;Appliquer une remise de 10 % si le produit expire dans 7 jours ou plus, ou si le niveau de stock est de
50
unités ou moins ;Aucune remise si le produit n'est pas « Périssable ».
Swipe to start coding
Implémentez une série d'instructions conditionnelles pour déterminer la remise à appliquer à un produit en fonction de son type, du nombre de jours avant expiration et du niveau de stock.
- Commencez par vérifier si le
product_type
est"Perishable"
. - À l'intérieur de cette instruction
if
:- Appliquez une remise de 30 % si
days_until_expiration
est inférieur ou égal à3
et questock_level
est supérieur à50
; - Utilisez
elif
pour appliquer une remise de 20 % sidays_until_expiration
est compris entre4
et6
, et questock_level
est supérieur à50
; - Utilisez un autre
elif
pour appliquer une remise de 10 % sidays_until_expiration
est supérieur à6
et questock_level
est inférieur ou égal à50
.
- Appliquez une remise de 30 % si
- Si le
product_type
n'est pas"Perishable"
, affichez :"No discount available for non-perishable items."
.
Exigences de sortie
- Si une remise de 30 % est appliquée, affichez :
"30% discount applied"
- Si une remise de 20 % est appliquée, affichez :
"20% discount applied"
- Si une remise de 10 % est appliquée, affichez :
"10% discount applied"
- Si le produit n'est pas périssable, affichez :
"No discount available for non-perishable items."
Remarque
Vous pouvez imbriquer plusieurs instructions
if
les unes dans les autres. Veillez à bien gérer l'indentation de chaque bloc.
Solution
Merci pour vos commentaires !