Functies heb je inmiddels al een paar keer gezien, maar niet echt zelf gemaakt! Een functie is een stuk code die je kan aanroepen en zo steeds dezelfde acties kan uitvoeren door de naam ervan aan te roepen. Je hebt al heel vaak inmiddels functies gebruikt als print()
, len(), input()
etc. Maar nu gaan we kijken hoe we dit soort dingen zelf kunnen maken!
Voorbeeld:
Het programma doet niets… Dit komt omdat we wel de functie gemaakt hebben, maar hem niet gebruiken.
Wil je dat de functie wordt gebruikt, dan moet je hem aanroepen.
Test de code in je eigen compiler.
Voorbeeld #2
Stel je wilt van drie verschillende getallen steeds weten welke de grootste is, dan kan je daar een functie voor schrijven
Hier stopt de functie. Hieronder kan je dan vervolgens de functie aanroepen en dan wordt het bovenstaande uitgevoerd, zonder het aanroepen van de functie wordt deze dus ook niet uitgevoerd.
max_van_drie()
Hier zie je dat alles wat onder de def staat ingesprongen is (een tab ervoor heeft) bij de functie hoort. Zo kan je voor vrijwel alles een functie schrijven, die je later simpelweg alleen maar hoeft aan te roepen om hem meerdere keren te kunnen gebruiken! Handuuuuuuuugh!
Verder kan je ook nog een variabele aan een functie mee geven, zo kunnen we bijvoorbeeld de max_van_drie functie ook omschrijven zodat er geen input van de gebruiker gevraagd wordt. Dit werkt als volgt:
Als we de functie nu aanroepen, kunnen we de waarden van a, b en c meer geven tussen de haakjes. Zoals dit:
max_van_drie(4, 9, 23)
Hier wordt de 4 als het eerste argument gezien dat meegegeven wordt aan de functie, en zal dus als “a” in de functie zelf gebruikt kunnen worden . Test dit maar in je eigen compiler.
Schrijf een functie die een zin vraagt aan de gebruiker en deze vervolgens achterstevoren print. Dit kan met de slicing techniek!
Schrijf een functie die steeds om een aantal getallen vraagt, en deze allemaal bij elkaar optelt en de som ervan uiteindelijk uit print.
Schrijf een functie die checkt of de input van een gebruiker binnen een bepaalde range valt. Dus of deze tussen twee verschillende getallen past.
>>> Hallo, wilt u mij een getal geven?
>>> 38
>>> 38 valt niet tussen de 3 en de 9
Schrijf een functie die drie verschillende strings vraagt aan de gebruiker, de lengte ervan berekend, deze lengte vervolgens bij elkaar op telt, dit getal dan deelt door 2.5, en het dat uiteindelijke getal afgerond naar boven en naar beneden print.
Schrijf een functie die de laagste van vijf cijfers terug print.
Schrijf een functie die drie variabelen mee krijgt, en vervolgens deze allemaal met elkaar vermenigvuldigt en het totaal print.