0%

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:

Try it

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.")
  1. Het sleutelwoord if begint de beslissing.

  2. temperature < 15 is de voorwaarde. Python evalueert die als True of False.

  3. 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:

Try it

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:

Try it

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:

Try it

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 25 is;

  • 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 temperature minstens 25 is, druk dan Take extra water. af.

  • Als rain_expected waar is, druk dan Pack an umbrella. af.

  • Als venue_open waar is, druk dan The 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.