Beslissingen nemen · oefening
Voer code uit als een voorwaarde waar is
Een vergelijking geeft Python een booleaans antwoord. Een if-instructie gebruikt dat antwoord om te bepalen of een blok instructies moet worden uitgevoerd.
Dit is een eerste beslissing:
Het programma drukt beide regels af, omdat temperature < 15 gelijk is aan True.
Verander temperature in 20 en voer het voorbeeld opnieuw uit. Het bericht over de jas verdwijnt, maar de laatste regel wordt nog steeds afgedrukt.
Lees een if-instructie in drie delen
De eerste twee regels bevatten drie belangrijke onderdelen:
if temperature < 15:
print("Bring a jacket.")
Het sleutelwoord
ifbegint de beslissing.temperature < 15is de voorwaarde. Python evalueert die alsTrueofFalse.De dubbele punt
:kondigt aan dat er een ingesprongen blok volgt.
Als de voorwaarde True is, voert Python het ingesprongen blok uit. Als ze False is, slaat Python dat blok over.
Je hebt in Python geen haakjes nodig rond een gewone voorwaarde. De dubbele punt en het inspringen tonen de structuur.
Inspringen groepeert instructies
In Python is inspringen onderdeel van de syntaxis. Gebruikelijk is vier spaties voor elke regel binnen een if-blok.
Een blok kan meer dan één instructie bevatten:
Alle drie de ingesprongen regels horen bij het if-blok. De laatste printaanroep springt niet meer in en wordt dus na de beslissing uitgevoerd, ongeacht of de voorwaarde waar of onwaar was.
Volg het voorbeeld van boven naar beneden. Python evalueert de voorwaarde, gaat het blok in, verandert balance en gaat daarna verder met de niet-ingesprongen regel. Als cost gelijk was aan 30, zou Python het hele ingesprongen blok overslaan.
Een booleaanse variabele kan de voorwaarde zijn
De voorwaarde hoeft op de if-regel geen vergelijking te bevatten. Als een variabele al True of False bevat, kun je die rechtstreeks gebruiken:
Lees if is_member: als ‘als is_member waar is’. if is_member == True: schrijven is niet nodig. De variabele bevat al het booleaanse antwoord dat if nodig heeft.
Afzonderlijke if-instructies stellen afzonderlijke vragen
Een programma kan verschillende onafhankelijke if-instructies bevatten. Python evalueert ze allemaal:
Het eerste bericht wordt afgedrukt. Het tweede niet. Dit zijn twee afzonderlijke beslissingen, dus beide voorwaarden worden gecontroleerd.
In de volgende les leer je else voor situaties waarin precies één van twee paden moet worden uitgevoerd. Voor nu wordt elk if-blok afzonderlijk uitgevoerd of overgeslagen.
Twee syntaxisdetails om te controleren
Een ontbrekende dubbele punt is een syntaxisfout:
if temperature < 15
print("Bring a jacket.")
Een niet-ingesprongen regel kan niet het bedoelde blok vormen:
if temperature < 15:
print("Bring a jacket.")
Als Python naar een if-regel of de regel er direct onder wijst, controleer dan eerst de dubbele punt en het inspringen.
Welke regel hoort bij het if-blok?
points = 12
if points >= 10:
print("Target reached")
print("Score checked")
Wat drukt deze code af?
temperature = 22
if temperature < 20:
print("Wear a jacket")
print("Ready")Schrijf drie onafhankelijke beslissingen
De oefening geeft je vaste informatie over een dagje uit. Voeg drie if-instructies toe:
druk een herinnering aan water af als de temperatuur minstens
25is;druk een herinnering aan een paraplu af als er regen wordt verwacht;
druk een openingsbericht af als de locatie open is.
Eén voorwaarde is onwaar. Het bijbehorende bericht moet worden overgeslagen. Behoud de laatste niet-ingesprongen regel, zodat het programma altijd eindigt met Check complete.
De laatste niet-ingesprongen regel wordt uitgevoerd na alle drie de beslissingen, ook als een blok is overgeslagen.
Opdracht
Voeg drie onafhankelijke if-instructies toe aan de dagplanning.
Als
temperatureminstens25is, druk danTake extra water.af.Als
rain_expectedwaar is, druk danPack an umbrella.af.Als
venue_openwaar is, druk danThe venue is open.af.
Gebruik voor elk blok een dubbele punt en vier spaties inspringing. Laat de vaste waarden, de kop en de laatste regel Check complete. ongewijzigd.
Klik op Step in de werkbalk van de editor zodra het programma werkt. Kijk hoe Python het temperatuurblok en het blok voor de locatie ingaat, het regenblok overslaat en daarna doorgaat met de laatste niet-ingesprongen regel.