Magazine

#Klooienmetcomputers

Arnout van Kempen over rommelen in een digitale wereld.

Dit artikel is verschenen in Accountant nr. 6, 2021

Bekijk alle artikelen uit dit nummer

» Download dit artikel (pdf)
» Download het hele nummer (pdf)

Na een nostalgisch uitstapje in het vorige nummer, ingegeven door de aankoop van een oude pocketcomputer, zijn we weer terug bij waar we waren: programmeren met Python.

We hebben wat basiselementen van Python te pakken inmiddels. Wat we nog missen is het herhalen van stukken code. In talen als C of BASIC heb je daar statements voor die met een teller werken, Python doet dat net een tikje slimmer: je kan een blok code uitvoeren met een variabele die gevoed wordt vanuit een reeks waardes. Het is daarbij niet nodig dat het om een variabele op een telbare schaal gaat, zoals dat in BASIC en in iets mindere mate in C wel het geval is. Je kan in feite iedere set waardes aanbieden.

Hoe ziet dat er in de praktijk uit? In de simpelste vorm:

for woord in [‘dit’, ‘zijn’, ‘woorden’] :
    print(woord)

Geeft als uitvoer:

dit
zijn
woorden

(Let op de vier spaties voor het commando print!)

Je kan het wat complexer maken met de commando’s break en else. Dan krijg je bijvoorbeeld zoiets:

Getallen = [1,3,5,7,9,11]

for getal in getallen:
    if getal%2 == 0:
        print (‘de lijst bevat een even getal’)
        break
else:
    print (‘geen even getal in de lijst’)

Let ook weer op de spaties. En zie dat de else hier op het niveau van de for staat, en niet van de if. De logica van het programma is dat de hele reeks doorlopen wordt totdat een even getal wordt gevonden. Als dat gebeurt wordt dat gemeld en wordt de loop verlaten via de break. Alleen als de for geen resultaat oplevert, en dus niet via de break wordt verlaten, treedt de else in werking.

Naast het for commando kent Python ook het while commando om loops mee te bouwen. Waar de for doorgaat tot een lijst is doorlopen, wordt de while herhaald zolang de waarde achter de while waar is. Dus zoiets als

while true:
    print (‘dit gaat nooit voorbij’)

Zal een eeuwige herhaling opleveren.

Arnout van Kempen di CCO CISA is directeur compliance & risk bij aaff, de fusieorganisatie van Alfa en ABAB. Hij schrijft op persoonlijke titel.

Gerelateerd

Aanmelden nieuwsbrief

Ontvang elke werkdag (maandag t/m vrijdag) de laatste nieuwsberichten, opinies en artikelen in uw mailbox.

Bent u NBA-lid? Dan kunt u zich ook aanmelden via uw ledenprofiel op MijnNBA.nl.