Ga naar hoofdinhoud

if en else

Wat je al kent

Je kunt vergelijkingen maken die True of False opleveren. In deze les laat je je programma iets doen op basis van zo'n vergelijking, met if en else.

if en else

Met if voer je code uit alleen als een voorwaarde True is. Met else geef je aan wat er moet gebeuren als de voorwaarde False is:

leeftijd = 15

if leeftijd >= 18:
print("Je bent volwassen!")
else:
print("Je bent nog minderjarig.")
Inspringen!

De code ná if en ná else moet 4 spaties inspringen. Dit is verplicht in Python — het vertelt Python welke regels bij het blok horen.


Probeer zelf

Schrijf een if/else die print "Gefeliciteerd, je bent geslaagd!" als cijfer minstens 5.5 is, en anders "Helaas, gezakt.".

cijfer = 6.0

if ...:
  print(...)
else:
  print(...)
✅ Oplossing
cijfer = 6.0

if cijfer >= 5.5:
print("Gefeliciteerd, je bent geslaagd!")
else:
print("Helaas, gezakt.")

Predict

Wat print dit programma? Schrijf je antwoord op.

temperatuur = 12

if temperatuur >= 20:
print("Lekker weer, zonnebril mee!")
else:
print("Pak een jas, het is fris.")

print("Geniet van de dag!")
Bekijk het antwoord
Pak een jas, het is fris.
Geniet van de dag!

12 >= 20 is False, dus de else-tak wordt uitgevoerd. De laatste print staat buiten het if/else-blok (geen inspringen), dus die wordt altijd uitgevoerd.


Run

Voer de code uit. Klopt het?

Verander temperatuur = 12 in temperatuur = 25. Wat verandert er?

Bekijk het antwoord

Nu is 25 >= 20 True, dus de if-tak wordt uitgevoerd:

Lekker weer, zonnebril mee!
Geniet van de dag!

Investigate

Wat gebeurt er als je de inspringen weglaat? Probeer dit:

leeftijd = 15

if leeftijd >= 18:
print("Je bent volwassen!")
Bekijk het antwoord

Foutmelding:

IndentationError: expected an indented block after 'if' statement

Python verwacht dat er minstens één ingesprongen regel ná if staat. Zonder inspringen weet Python niet welke code bij het if-blok hoort.


if zonder else

Je hebt niet altijd een else nodig. Als je alleen iets wil doen bij een bepaalde voorwaarde:

score = 80

if score >= 50:
print("Gefeliciteerd, je bent geslaagd!")

print("Je score was:", score)

De tweede print wordt altijd uitgevoerd — hij staat buiten het if-blok.


Er gaat iets mis

Een veel-gemaakte fout:

leeftijd = 18

if leeftijd = 18:
print("Je bent precies 18!")

Foutmelding:

SyntaxError: invalid syntax

Waarom? In een if-voorwaarde gebruik je == (vergelijking), niet = (toewijzing).

Oplossing: Gebruik ==:

if leeftijd == 18:
print("Je bent precies 18!")

Modify

Voeg een else toe die toont hoeveel jaar iemand nog moet wachten.

leeftijd = 15

if leeftijd >= 18:
  print("Je mag naar binnen!")
💡 Tip

Je kunt berekeningen doen in een f-string: f"Nog {18 - leeftijd} jaar te gaan.".

✅ Oplossing
leeftijd = 15

if leeftijd >= 18:
print("Je mag naar binnen!")
else:
print(f"Nog {18 - leeftijd} jaar te gaan.")

Make: Toegangscontrole

Een feestje heeft een minimumleeftijd van 14. Schrijf een programma dat met een variabele leeftijd de gast óf welkom heet, óf afwijst.

Verwachte uitvoer (bij leeftijd = 15):

Welkom op het feestje!

Verwachte uitvoer (bij leeftijd = 12):

Sorry, je bent te jong.
leeftijd = 15

if ...:
  print(...)
else:
  print(...)
💡 Tip

if leeftijd >= 14: — de drempel is 14, niet 18.

✅ Oplossing
leeftijd = 15

if leeftijd >= 14:
print("Welkom op het feestje!")
else:
print("Sorry, je bent te jong.")

Make Bonus: Geslaagd?

Schrijf een programma dat met een variabele cijfer een gepersonaliseerd bericht print. Gebruik een variabele naam en een f-string in beide takken.

Verwachte uitvoer (bij naam = "Alex", cijfer = 6.5):

Gefeliciteerd Alex, je hebt een 6.5 — geslaagd!

Verwachte uitvoer (bij cijfer = 4.0):

Helaas Alex, een 4.0 is niet genoeg.
naam = "Alex"
cijfer = 6.5

if ...:
  print(...)
else:
  print(...)
💡 Tip

Drempel: cijfer >= 5.5. In beide takken gebruik je een f-string met {naam} en {cijfer}.

✅ Oplossing
naam = "Alex"
cijfer = 6.5

if cijfer >= 5.5:
print(f"Gefeliciteerd {naam}, je hebt een {cijfer} — geslaagd!")
else:
print(f"Helaas {naam}, een {cijfer} is niet genoeg.")
Volgende les

Je programma kan nu kiezen tussen twee opties. Maar wat als er drie of meer mogelijkheden zijn? Of als er meerdere voorwaarden tegelijk waar moeten zijn? Dat leer je in de volgende les.