Utmaning: Produktledningshuvudprojekt
Grattis till att ha nått denna punkt i kursen! I denna slututmaning kommer du att hantera färskvaror i en livsmedelsbutik, bestämma rabatter baserat på produktens utgångsdatum och lagernivåer. Ditt mål är att minimera avfall samtidigt som du effektivt maximerar försäljningen genom strategisk rabattering.
Låt oss se hur väl du kan översätta affärsregler till Python-kod!
Scenario
Som chef i en livsmedelsbutik är du ansvarig för att implementera en rabattstrategi för färskvaror baserat på deras utgångsdatum och lagernivåer.
Rabattstrategin är som följer:
Applicera en 30% rabatt om produkten går ut om 3 dagar eller mindre och lagernivån är över
50
enheter;Applicera en 20% rabatt om produkten går ut om 4 till 6 dagar och lagernivån är över
50
enheter;Applicera en 10% rabatt om produkten går ut om 7 dagar eller mer , eller om lagernivån är
50
enheter eller mindre ;Ingen rabatt om produkten inte är "Färskvara".
Swipe to start coding
Implementera en serie av villkorssatser för att bestämma rabatten för en produkt baserat på dess typ, dagar till utgång och lagernivå.
- Börja med att kontrollera om
product_type
är"Perishable"
. - Inuti denna
if
-sats:- Applicera en 30% rabatt om
days_until_expiration
är3
eller mindre ochstock_level
är större än50
; - Använd
elif
för att applicera en 20% rabatt omdays_until_expiration
är mellan4
och6
, ochstock_level
är större än50
; - Använd en annan
elif
för att applicera en 10% rabatt omdays_until_expiration
är större än6
ochstock_level
är50
eller mindre.
- Applicera en 30% rabatt om
- Om
product_type
inte är"Perishable"
, skriv ut"No discount available for non-perishable items."
.
Utdata Krav
- Om en 30% rabatt tillämpas, skriv ut:
"30% discount applied"
- Om en 20% rabatt tillämpas, skriv ut:
"20% discount applied"
- Om en 10% rabatt tillämpas, skriv ut:
"10% discount applied"
- Om produkten är icke-färskvara, skriv ut:
"No discount available for non-perishable items."
Notera
Du kan nästla flera
if
-satser inom varandra. Se till att hantera indragningen korrekt för varje block.
Lösning
Tack för dina kommentarer!