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.

Voorbeeld functie (één input)
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 als antwoord de string "Dit getal is positief" terugkrijgen.

Voorbeeld functie (twee inputs)
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 als antwoord de 7 terugkrijgen, en bij de invoer als antwoord de 5 terugkrijgen.

Voorbeeld if-elif-else-statement
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.

Voorbeeld 2: grootste getal

Deze functie, genaamd zal steeds twee getallen als invoer nemen. De functie geeft het grootste van de twee getallen terug, maar als ze even groot zijn geeft de functie de tekst "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 te typen, dan krijgt die als resultaat 8 terug.

Zo ook krijgt iemand die typt als resultaat 1 terug.

Tot slot krijgt iemand die typt als resultaat "De getallen zijn even groot." terug.



Opdracht

Maak een functie genaamd die twee getallen als invoer neemt, en de grootste teruggeeft. Als de getallen even groot zijn, moet de functie de tekst "De getallen zijn even groot." teruggeven.

input-output verwachtingen
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.