Functies in Python

Python bezit de mogelijkheid zelf functies te definiëren. Zo kunnen we bijvoorbeeld de kwadraatfunctie definitiëren:

Het  begin van een functie duiden we aan met def , nadien komt de naam en tussen de haakjes staan de argumenten, in dit geval dus gewoon x. Na return komt er wat de functie moet teruggeven. het is ook mogelijk om: meerdere argumenten te geven.  Als je in een programma vaak iets moet berekenen, maak je best een functie voor die berekening.

Je kan in Python zelfs gebruik maken van de functie in de functie zelf! We kunnen bijvoorbeeld gebruik maken van de recursieve relatie van faculteiten om hiervoor een functie te maken:

De functie zal zichzelf aanspreken.Je hebt natuurlijk ook beginwaarden nodig, anders kan je nooit een antwoord geven voor een willekeurige n. Als, zoals in ons voorbeeld, n = 20 zal de functie na 19 keer zichzelf aan te spreken, een 1 teruggeven, en dus eindigen.

While – lussen

Als de herhalingen eerder afhangen van een bepaalde voorwaarde, kan je beter een while-lus gebruiken. 

Alle iteraties zullen uitgevoerd worden, zolang de voorwaarde  
 achter de while geldt. In bovenstaand voorbeeld zal zolang i < 6, de waarde van i afgedrukt worden, en zal telkens met 1 worden vermeerderd.

Het monster

In 1981 construeerde de Amerikaanse wiskundige Robert Griess( 1945-) het Monster: de grootste en een van de meest mysterieuze van de zogenaamde sporadische groepen.

Elk natuurlijk getal kan geschreven worden als product van priemfactoren. Bij groepen heeft men hetzelfde proberen te doen: ‘enkelvoudige’ groepen vinden zodat dat elke groep te schrijven is als product van enkelvoudige groepen. Er bestaan 18 families van dergelijke enkelvoudige groepen elk met aftelbaar  oneindig veel elementen. De verzameling van de cyclische groepen met priem orde is één van die families. Buiten die 18 families zijn er nog enkele enkelvoudige groepen die niet thuis horen in die families. Deze opzichzelfstaande groepen worden sporadische groepen genoemd. Daarvan zijn er 26.

De monster groep is de grootste en telt

    \[2^{46}.3^{20}.5^9.7^6.11^2.13^2.17.19.23.29.31.41.47.59.71\]

elementen. Je deze groep  voorstellen als een sneeuwvlok met meer dan 10^{53} symmetrieën.

De structuur van de monster groep suggereert nauwe verbanden tussen symmetrie en natuurkunde en kan zelfs verband houden met de snaartheorie.

In 1973 kondigden Griess en Bernd Fischer (1956-) het bestaan van het monster aan. Het kreeg zijn naam van John Conway en het was de Britse wiskundige Richard Borcherds (1959-), die voor zijn werk aan het begrijpen van het Monster, uiteindelijk een Fields-medaille kreeg.

For lussen

Een zeer belangrijke functie bij het programmeren zijn de lussen. Als je in je code graag iets stelselmatig wilt overlopen, kan je hiervoor de for-lus gebruiken. We geven een paar voorbeelden:

De for-lus zal alle waarden van i overlopen van 0 tot en met 3. Elke instructie na de insprong wordt dan bij elke herhaling uitgevoerd. Voor de eerste stap zal i = 0, voor de tweede stap zal dat 1 meer zijn en zo gaan we verder tot aan 3, één minder dan het getal aangegeven in de range functie.

Indien je niet bij 0 wilt beginnen of met grotere stapje wilt gaan kan je een uitgebreide range functie gebruiken. Zo zal range(1,11,2) starten bij 1, stoppen voor 11 en met stapjes van 2  vooruit gaan

In plaats van de range functie, kan je ook alle elementen uit een lijst afgaan:

 

If … Else …

De if-functie is, in elke programmeertaal, een vaak gebruikte functie. Een voorbeeld in Python ziet er uit als :

a=2
b=3
if a>b:
    print(‘a is groter dan b’)N

Na de if komt dus een voorwaarde, die al dan niet waar is. Indien de uitspraak True is, dan wordt alle code uitgevoerd die ingesprongen is. Om het begin van de insprong aan te duiden, zet je een dubbel punt. 

Als je graag nog een code had ingevoerd, indien de uitspraak False was, gebruik je hiervoor else.