Je hebt geleerd hoe je functies maakt met een if-else-statement, en je hebt geleerd hoe je een if-elif-else-statement maakt. Zie hieronder nog eens van elk een voorbeeld en uitleg.
def PositiefOfNegatief(x):
if x >= 0:
tekst = "Dit getal is positief"
else:
tekst = "Dit getal is negatief"
return tekst
Hierbij kan een gebruiker jouw functie gebruiken door een waarde voor x in te geven. Zo zullen ze bij de invoer "Dit getal is positief" terugkrijgen.
def Grootste(x, y):
if x >= y:
grootste = x
else:
grootste = y
return grootste
Hierbij kan een gebruiker jouw functie gebruiken door een waarde voor x en y in te geven. Zo zullen ze bij de invoer 7 terugkrijgen, en bij de invoer 5 terugkrijgen.
procent_op_toets_behaald = 30
if procent_op_toets_behaald > 50:
bericht = "Gefeliciteerd, je bent geslaagd voor je toets!"
elif procent_op_toets_behaald == 50:
bericht = "Oei, je hebt het echt op het nippertje gehaald, gefeliciteerd!"
else:
bericht = "Sorry, volgende keer beter."
Nadat dit programma wordt uitgevoerd zal het bericht "Sorry, volgende keer beter." zijn, omdat de procent_op_toets_behaald niet groter is dan 50 (dus het bericht wordt niet "Gefeliciteerd, je bent geslaagd voor je toets!") en ook niet gelijk aan 50 (dus het bericht wordt niet "Oei, je hebt het echt op het nippertje gehaald, gefeliciteerd!").
We zullen nu de functies van de voorbeelden uitbreiden door er een elif aan toe te voegen. We zullen twee voorbeelden bekijken (deze oefening en de vorige oefening), en daarna zal je zelf de functie moeten schrijven.
Deze functie, genaamd "De getallen zijn even groot." terug. Hier is die functie:
def Grootste(x, y):
if x > y:
grootste = x
elif x < y:
grootste = y
else:
grootste = "De getallen zijn even groot."
return grootste
Let nog altijd goed op de inspringingen (spaties aan het begin van de regel). Deze moeten goed met elkaar overeenkomen en correct aangeven waar de instructie bij hoort.
Wanneer iemand deze functie gebruikt, kan die zelf kiezen welke waarde voor x en y die als invoer geeft. Als iemand bijvoorbeeld 5 en 8 als invoer geeft door 8 terug.
Zo ook krijgt iemand die 1 terug.
Tot slot krijgt iemand die "De getallen zijn even groot." terug.
Maak een functie genaamd "De getallen zijn even groot." teruggeven.
| Invoer | → | Verwachte returnwaarde | Reden |
|---|---|---|---|
| → | 8 |
Want 8 is groter dan 5. |
|
| → | 1 |
Want 1 is groter dan -20. |
|
| → | 100 |
Want 100 is groter dan 7. |
|
| → | "De getallen zijn even groot." |
Want 9 en 9 zijn even groot. |