Villkorsuttryck
I det här kapitlet fördjupar vi oss i en av de mest grundläggande aspekterna av programmering i Python — villkorsuttryck med hjälp av operatorerna if
, else
och elif
.
Dessa operatorer möjliggör exekvering av olika kodblock baserat på specifika villkor, vilket ger dig möjlighet att fatta beslut dynamiskt i dina program. Förståelse för dessa uttryck är avgörande för att utveckla applikationer som effektivt kan reagera på olika indata och situationer.
Se när Alex demonstrerar mångsidigheten hos dessa villkorsuttryck:
if
-satsen utvärderar ett villkor och exekverar ett kodblock om villkoret är True
. Om villkoret inte är True
kan else
och elif
(förkortning för "else if") ange ytterligare villkor att kontrollera och exekvera annan kod därefter.
Så här fungerar de:
if
Den primära villkorssatsen utvärderar om ett villkor är True
. Den inleder 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 indragna kodblocket efter if
-satsen att exekveras.
elif
Förkortning för "else if", elif
-satsen ger ytterligare villkor att kontrollera om det ursprungliga 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, var och en med sitt eget villkor.
else
Detta fungerar som en fångst för alla fall som inte specifikt hanteras 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å tillämpningar
Vi börjar med en enkel if
/ else
-sats för att fatta ett beslut baserat på ett enda villkor. Här försöker vi avgöra om en matvara behöver fyllas på utifrån dess nuvarande lagernivå:
12345678# 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 föregående if-else
-exemplet:
Härnäst används elif
-satsen i en något mer avancerad tillämpning. I denna tillämpning används if
/ elif
/ else
-satser för att tillämpa rabattsatser baserat på totalkostnader för att uppmuntra till större köp.
12345678910# 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 tillämpning introduceras nästlade if-else
-villkor för att demonstrera en mer detaljerad beslutsprocess. Genom att bädda in en if-else
-struktur i en annan kan en serie beslut fattas baserat på flera kriterier.
Detta praktiska exempel illustrerar hur en livsmedelsbutik kan hantera lager baserat på produkttyp och specifika villkor, såsom antal dagar sedan leverans eller lagernivåer.
1234567891011121314151617# 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 föregående kodexemplet:
Några syntaxanteckningar
Vid skrivning av villkorssatser i Python är det viktigt att följa specifika syntaxregler. Du har kanske lagt märke till den avgörande rollen som kolon :
och indrag spelar för att skapa körbara villkor.
Låt oss undersöka vilken roll dessa små detaljer har:
Kolon
Tänk på kolonet i slutet av en if
-, elif
- eller else
-sats som en signal som säger, "Här är vad som ska göras om villkoret jag just nämnde är sant." Kolonet fungerar som en vägvisare och markerar tydligt var instruktionerna börjar.
Indrag
När villkoret ovanför ett indraget kodblock är True
, körs alla indragna kodrader nedanför. 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 självklarhet.
Utmärkt arbete med att förstå dessa grundläggande aspekter av Python! Din förståelse för hur man strukturerar kontrollsatser på rätt sätt ger en stabil grund för att ta itu med mer komplexa programmeringsuppgifter. Nu är det dags att sätta dina nya kunskaper på prov med en omfattande utmaning där du får tillämpa det du lärt dig i ett praktiskt sammanhang.
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 10 % rabatt på frukt; - Om
product_type
är"Vegetables"
ochday_of_week
är"Tuesday"
, skriv ut 15 % rabatt på grönsaker; - Om
product_type
är"Dairy"
ochday_of_week
är"Wednesday"
, skriv ut 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 ingen villkorssats uppfylls.
- Om
Utmatningskrav
- Skriv ut meddelanden som:
"10% discount on Fruits today!"
för varje villkor som uppfylls. - 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!
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal