Conditionele Expressies
In dit hoofdstuk duiken we in een van de meest fundamentele aspecten van programmeren in Python — conditionele expressies met behulp van de operatoren if
, else
en elif
.
Met deze operatoren kun je verschillende codeblokken uitvoeren op basis van specifieke voorwaarden, waardoor je programma's dynamisch beslissingen kunnen nemen. Het begrijpen van deze expressies is essentieel voor het ontwikkelen van applicaties die effectief kunnen reageren op diverse invoer en situaties.
Bekijk hoe Alex de veelzijdigheid van deze conditionele expressies demonstreert:
De if
-instructie evalueert een voorwaarde en voert een codeblok uit als de voorwaarde True
is. Als de voorwaarde niet True
is, kunnen de else
- en elif
-instructies (afkorting van "else if") aanvullende voorwaarden specificeren om andere code uit te voeren.
Zo werken ze:
if
De primaire conditionele instructie evalueert of een voorwaarde True
is. Het start een conditionele reeks. if
-instructies mogen slechts één keer aan het begin van een reeks voorkomen. Als de voorwaarde True
is, wordt het ingesprongen codeblok na de if
-instructie uitgevoerd.
elif
Afkorting van "else if", de elif
-instructie biedt aanvullende voorwaarden om te controleren als de initiële if
of een voorgaande elif
-voorwaarde False
was. Je kunt meerdere elif
-instructies toevoegen na een if
-instructie om verschillende scenario's af te handelen, elk met een eigen voorwaarde.
else
Dit fungeert als een vangnet voor gevallen die niet specifiek door de voorgaande if
- en elif
-voorwaarden worden behandeld. Er mag slechts één else
-instructie aan het einde van een if
-reeks staan, en deze vereist geen voorwaarde.
Voorbeeldtoepassingen
We beginnen met een eenvoudige if
/ else
-instructie om een beslissing te nemen op basis van één enkele voorwaarde. Hier proberen we te bepalen of een boodschappenartikel moet worden bijgevuld op basis van de huidige voorraad:
# 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")
Dit stroomdiagram toont de beslissingspaden die je Python-interpreter zou volgen in het vorige if-else
-voorbeeld:
Vervolgens gebruiken we de elif
-instructie in een iets complexere toepassing. In deze toepassing gebruiken we if
/ elif
/ else
-instructies om kortingspercentages toe te passen op basis van de totale kosten om grotere aankopen te stimuleren.
# 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")
Dit stroomdiagram visualiseert het proces van het toepassen van kortingen op basis van de totale kosten met behulp van if
, elif
, else
-verklaringen:
In de volgende toepassing introduceren we geneste if-else
-voorwaarden om een meer gedetailleerd besluitvormingsproces te demonstreren. Door een if-else
-structuur binnen een andere te plaatsen, kunnen we een reeks beslissingen nemen op basis van meerdere criteria.
Dit praktische voorbeeld laat zien hoe een supermarkt de voorraad kan beheren op basis van producttype en specifieke voorwaarden, zoals het aantal dagen sinds levering of voorraadniveaus.
# 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")
Het volgende beslissingsboomdiagram geeft visueel de geneste if-else
-logica weer die in het vorige codevoorbeeld is gebruikt:
Enkele syntaxisnotities
Bij het schrijven van voorwaardelijke uitspraken in Python is het essentieel om specifieke syntaxisregels te volgen. Je hebt misschien gemerkt dat de dubbele punt :
en inspringing een cruciale rol spelen bij het creëren van uitvoerbare voorwaarden.
Laten we de rol van deze kleine details bekijken:
Dubbele punt
Beschouw de dubbele punt aan het einde van een if
-, elif
- of else
-uitspraak als een signaal dat aangeeft: "Hier volgt wat er moet gebeuren als de zojuist genoemde voorwaarde waar is." De dubbele punt fungeert als een wegwijzer die duidelijk aangeeft waar de instructies beginnen.
Inspringing
Wanneer de voorwaarde boven een ingesprongen codeblok True
is, worden alle ingesprongen regels code hieronder uitgevoerd, aangezien deze voorwaarde eveneens True
is. Als dit niet het geval is, slaat Python deze stappen over en zoekt naar de volgende voorwaarde.
Hoewel dit misschien kleine details lijken, zijn ze cruciaal om ervoor te zorgen dat je code correct wordt uitgevoerd. Naarmate je meer vertrouwd raakt met Python, zullen deze praktijken vanzelfsprekend worden.
Uitstekend werk met het beheersen van deze fundamentele aspecten van Python! Je begrip van het correct structureren van controle-instructies vormt een solide basis voor het aanpakken van complexere programmeertaken. Laten we nu je nieuwe vaardigheden testen met een uitgebreide uitdaging waarin je kunt toepassen wat je hebt geleerd in een praktische situatie.
Swipe to start coding
Ontwerp een eenvoudig kortingsstrategiesysteem voor een supermarkt dat kortingen toepast op basis van het producttype en de dag van de week.
- Gebruik de invoervariabelen
product_type
enday_of_week
. - Implementeer conditionele uitspraken om te controleren:
- Als
product_type
gelijk is aan"Fruits"
enday_of_week
gelijk is aan"Monday"
, geef een korting van 10% op fruit weer; - Als
product_type
gelijk is aan"Vegetables"
enday_of_week
gelijk is aan"Tuesday"
, geef een korting van 15% op groenten weer; - Als
product_type
gelijk is aan"Dairy"
enday_of_week
gelijk is aan"Wednesday"
, geef een korting van 20% op zuivel weer; - Als
product_type
gelijk is aan"Other"
, geef"No discount available."
weer; - Gebruik
else
om andere gevallen waarin geen voorwaarde wordt voldaan af te handelen.
- Als
Uitvoereisen
- Print berichten zoals:
"10% discount on Fruits today!"
voor elke voorwaarde die overeenkomt. - Als
product_type
gelijk is aan"Other"
, print"No discount available."
- Als geen van de voorwaarden wordt voldaan, print
"No special discounts today."
Oplossing
Bedankt voor je feedback!