Villkorsuttryck
I det här kapitlet dyker vi in i en av de mest grundläggande aspekterna av programmering i Python — villkorsuttryck med hjälp av if
, else
och elif
operatorer.
Dessa operatorer tillåter dig att köra olika kodblock baserat på specifika villkor, vilket ger dig möjligheten att fatta beslut inom dina program dynamiskt. Att förstå dessa uttryck är avgörande för att utveckla applikationer som kan reagera på olika inmatningar och situationer effektivt.
Titta när Alex demonstrerar mångsidigheten hos dessa villkorsuttryck:
if
-satsen utvärderar ett villkor och kör ett kodblock om villkoret är True
. Om villkoret inte är True
, kan else
och elif
(kort för "else if") satser specificera ytterligare villkor att kontrollera och köra olika kod därefter.
Så här fungerar de:
if
Den primära villkorssatsen utvärderar om ett villkor är True
. Den initierar en villkorssekvens. if
-satser kan endast förekomma en gång i början av en sekvens. Om villkoret utvärderas till True
, kommer det indenterade kodblocket som följer if
-satsen att köras.
elif
Kort för "else if", elif
-satsen ger ytterligare villkor att kontrollera om det initiala if
eller något föregående elif
-villkor var False
. Du kan inkludera flera elif
-satser efter en if
-sats för att hantera olika scenarier, varje med sitt eget villkor.
else
Detta fungerar som en fångst-allt för fall som inte specifikt adresseras av de föregående if
och elif
-villkoren. Det kan endast finnas en else
-sats i slutet av en if
-satssekvens, och den kräver inget villkor.
Exempel på applikationer
Låt oss börja med ett enkelt if
/ else
-uttalande för att fatta ett beslut baserat på ett enda villkor. Här försöker vi avgöra om en livsmedelsartikel behöver fyllas på baserat på dess nuvarande lagernivå:
# 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")
Detta flödesschema visar de beslutsvägar som din Python-tolk skulle ta i det tidigare if-else
-exemplet:
Nästa, låt oss använda elif
-satsen i en något mer komplex applikation. I denna applikation använder vi if
/ elif
/ else
-satser för att tillämpa rabattsatser baserat på totala kostnader för att uppmuntra större försäljningar.
# 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")
Detta flödesschema visualiserar processen för att tillämpa rabatter baserat på totalkostnad med hjälp av if
, elif
, else
-satser:
I nästa applikation introducerar vi nästlade if-else
-villkor för att demonstrera en mer detaljerad beslutsprocess. Genom att bädda in en if-else
-struktur inom en annan kan vi fatta en serie beslut baserat på flera kriterier.
Detta praktiska exempel illustrerar hur en livsmedelsbutik kan hantera lager baserat på produkttyp och specifika förhållanden, såsom dagar sedan leverans eller lagernivåer.
# 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")
Följande beslutsdiagram visar visuellt den nästlade if-else
logiken som används i det tidigare kodexemplet:
Några Syntaxanteckningar
När du skriver villkorssatser i Python är det viktigt att följa specifika syntaxregler. Du kanske har märkt den kritiska rollen som kolon :
och indrag spelar i att skapa körbara villkor.
Låt oss undersöka vilken roll dessa små detaljer spelar:
Kolon
Tänk på kolonet i slutet av en if
, elif
eller else
sats som en signal som säger, "Här är vad du ska göra härnäst om villkoret jag just nämnde är sant." Kolonet fungerar som en vägvisare, som tydligt markerar var instruktionerna börjar.
Indrag
När villkoret ovanför ett indraget kodblock är True
, körs alla indragna kodrader nedanför det. Om det inte är True
, hoppar Python över dessa steg och letar efter nästa villkor.
Även om dessa kan verka som små detaljer, är de avgörande för att säkerställa att din kod körs korrekt. När du blir mer bekant med Python kommer dessa metoder att bli en andra natur.
Fantastiskt arbete med att förstå dessa grundläggande aspekter av Python! Din förståelse för hur man strukturerar kontrollsatser korrekt ger en solid grund för att ta itu med mer komplexa programmeringsuppgifter. Nu, låt oss sätta dina nya färdigheter på prov med en omfattande utmaning som låter dig tillämpa det du har lärt dig i ett praktiskt scenario.
Swipe to start coding
Skapa ett enkelt rabattsystem för en livsmedelsbutik som tillämpar rabatter baserat på produkttyp och veckodag.
- Använd inmatningsvariablerna
product_type
ochday_of_week
. - Implementera villkorssatser för att kontrollera:
- Om
product_type
är"Fruits"
ochday_of_week
är"Monday"
, skriv ut en 10% rabatt på frukt; - Om
product_type
är"Vegetables"
ochday_of_week
är"Tuesday"
, skriv ut en 15% rabatt på grönsaker; - Om
product_type
är"Dairy"
ochday_of_week
är"Wednesday"
, skriv ut en 20% rabatt på mejeriprodukter; - Om
product_type
är"Other"
, skriv ut"No discount available."
; - Använd
else
för att hantera andra fall där inget villkor uppfylls.
- Om
Utmatningskrav
- Skriv ut meddelanden som:
"10% discount on Fruits today!"
för varje villkor som matchar. - Om
product_type
är"Other"
, skriv ut"No discount available."
- Om inga villkor uppfylls, skriv ut
"No special discounts today."
Lösning
Tack för dina kommentarer!