Les 1: Functies in Functies
Last updated
Last updated
Je kunt parameters ook gebruiken in berekeningen. In Python kun je de bewerkingen die je al kent ook doen:
Bewerking
in Python
plus of min
+ of -
keer
*
gedeeld door
/
tot de macht
^
Een voorbeeld is het tekenen van het volgende figuur:
We willen dat doen met twee functies:
We krijgen de lengte mee als parameter dus die kunnen we gebruiken door er bijvoorbeeld eerst 50 en dan 100 bij op te tellen:
Of we kunnen steeds vermenigvuldigen:
Het hangt er natuurlijk vanaf wat je wilt bereiken. Maar je kunt nu makkelijk dit maken:
Maak functie die het volgende figuur tekent:
Gebruik de functie die je net hebt gemaakt om het volgende de tekenen:
Rekenen is bijvoorbeeld handig als je de Turtle wilt laten draaien, maar je weet nog niet over hoeveel graden. Je kunt bijvoorbeeld een cirkel tekenen door het volgende te doen:
Een hele cirkel bevat 360 graden en als we die in tien stapjes tekenen, draaien we steeds 360/10 graden (36 graden). Maar als je dit uitvoert zie je dat de cirkel er niet heel netjes uit komt te zien. Om er achter te komen wat mooier is kunnen we de volgende methode gebruiken:
Je ziet in de code twee opvallende dingen:
We berekenen nu steeds de hoek door aantal_stukken
te gebruiken. De berekening 360.0/aantal_stukken
geeft precies de hoek die we steeds willen. Bij 10 stukken geeft dit 360.0/10=36 graden en bij 20 stukken 360.0/20=18 en zo voort.
We voeren de for-loop niet 10 keer uit maar aantal_stukken keer. Dus als bijvoorbeeld aantal_stukken 20 is, dan doen we de inhoud van de loop 20 keer.
Zorg dat er uiteindelijk dit plaatje uit komt:
Een sneeuwvlokje kun je maken door een paar parallellogrammen aan elkaar te plakken. Zie bijvoorbeeld:
In het eerste plaatje zijn er zes parallellogrammen naast elkaar getekend (de turtle draait na elke parallellogram een x aantal graden naar rechts en tekent vervolgens de volgende). Bij de sneeuwvlok zijn het ook allemaal parallellogrammen die naast elkaar zijn getekend (je hoeft niet te tellen hoeveel dat er zijn ;))
a] Maak een functie sneeuwvlok die het linker plaatje tekent. De functie sneeuwvlok
moet gebruik maken van de functie parallellogram die je van mij cadeau krijgt.
b] Breid de functie sneeuwvlok
uit door nog een parameter te gebruiken. Met deze tweede parameter kun je aangeven hoeveel parallellogrammen er in een sneeuwvlok moeten zitten. Dus als je sneeuwvlok (30, 6)
uitvoert, dan maakt de turtle het eerste plaatje. Maar als je sneeuwvlok (30, 50)
uitvoert, dan begint de turtle iets te maken wat op het tweede plaatje gaat lijken.