Je hebt geleerd hoe je functies maakt, en je hebt geleerd hoe je een if-else-statement maakt. Zie hieronder nog eens van elk een voorbeeld en uitleg.

Voorbeeld functie
def Optellen(a, b):
    resultaat = a + b
    return resultaat

Hierbij kan een gebruiker jouw functie gebruiken door een waarde voor a en b in te geven. Zo zullen ze bij de invoer als antwoord 5 terugkrijgen.

Voorbeeld if-else-statement
procent_op_toets_behaald = 30

if procent_op_toets_behaald >= 50:
    bericht = "Gefeliciteerd, je bent geslaagd voor je toets!"
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 kleiner is dan 50.


We zullen dit nu combineren: een functie die afhankelijk van de invoer een verschillende berekening kan doen. We zullen twee voorbeelden bekijken (deze oefening en de volgende oefening), en daarna zal je zelf de functie moeten schrijven.

Voorbeeld 1: positieve getallen maal twee, negatieve getallen min tien

Deze functie, genaamd zal steeds één getal als invoer nemen. Als dat getal positief is (of 0), dan vermenigvuldigen we het met 2. Als dat getal negatief is, dan trekken we er 10 van af. Hier is die functie:

def MaalTweeOfMinTien(x):
    if x >= 0:
        y = x * 2
    else:
        y = x - 10
    
    return y

Merk op dat sommige regels dus ook dubbele inspringingen hebben.

Wanneer iemand deze functie gebruikt, kan die zelf kiezen welke waarde voor x die als invoer geeft. Als iemand bijvoorbeeld 5 als invoer geeft door te typen, dan krijgt die als resultaat 10 terug.

Zo ook krijgt iemand die typt als resultaat -13 terug.



Opdracht

Maak een functie genaamd die één getal als invoer neemt, het verdubbelt als het positief (of 0) is, of er 10 van af haalt als het negatief is, en het resultaat als uitvoer geeft.

Voorbeelden
  • geeft 10 terug (want 5 is positief en 5 * 2 = 10).
  • geeft -13 terug (want -3 is negatief en -3 - 10 = -13).
  • geeft 34 terug (want 17 is positief en 17 * 2 = 34).
  • geeft -20 terug (want -10 is negatief en -10 - 10 = -20).