ID.nl logo
Zo kun je programmeren in Python - Deel 3
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 3

Nu je hebt gezien hoe je gegevens structureert in lijsten en dictionary’s, wordt het tijd om ook in je programma’s wat structuur te brengen. In deze les ga je van start met de Python-ontwikkelomgeving Thonny en schrijf je je eerste Python-programma’s.

Tot nu toe heb je al je Python-opdrachten in een interactieve sessie in de Python-interpreter uitgevoerd. Dat is handig voor wat kleine berekeningen, maar voor complexere zaken dien je een volwaardig programma te schrijven. En dat gaan we in deze les dan ook doen, waarbij we ook veel opdrachten zien die Python aanbiedt om een programma op te bouwen.

Thonny

Als je Python-programma’s begint te schrijven die voor meer dienen dan eenvoudige bewerkingen, volstaat de Python-interpreter niet: je hebt dan een ontwikkelomgeving nodig die je helpt bij het opbouwen van je programma. In deze les gebruiken we Thonny, dat standaard wordt geïnstalleerd met Python vanaf versie 3.7.

Als je Thonny opstart, krijg je twee tekstvelden te zien. In het tekstveld bovenaan typ je je Python-programma in. Het tekstveld onderaan is een ‘shell’: dit is hetzelfde als de Python-interpreter die we in de vorige lessen gebruikten. Om kort wat opdrachten uit te proberen terwijl je een programma aan het schrijven bent, kan dit tekstveld handig zijn.

©PXimport

Waar of niet waar

Maar voordat we een programma schrijven, dienen we eerst nog één datatype van Python uit te leggen, en wel een heel eenvoudig: bool. Dit stelt een booleaanse waarde voor: waar of niet waar, of in Python: True of False. Heel wat functies en operatoren in Python geven een van deze waardes terug. Voer de volgende opdrachten maar eens in het shell-tekstveld van Thonny in:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> 'kees' in namenTrue>>> 'aniek' in namenFalse>>> namen[0] == 'lies'True>>> namen[1] != 'kees'True>>> 2 < 5True>>> 2 > 5False>>> 3.1.is_integer()False>>> 3.0.is_integer()True

Zoals je ziet, kun je met in testen of een element zich in een lijst bevindt. Met == test je op de gelijkheid van twee objecten en met != op de ongelijkheid. Vergelijkingen zoals < (kleiner dan) en > (groter dan) geven ook een booleaanse waarde terug. Daarnaast heb je ook <= (kleiner dan of gelijk aan) en >= (groter dan of gelijk aan). En een functie zoals is_integer() is handig om van een float te bepalen of het een gehele waarde is.

Met booleaanse waarden zelf kun je ook ‘rekenen’, namelijk met de operatoren and, or en not. De uitdrukking xor y is True als x of y of beide objecten True zijn; x and y is True als beide objecten True zijn; en not x is True als x False is en andersom.

Waardes testen: if

Dan gaan we nu ons eerste Python-programma schrijven. Het programma vraagt de gebruiker om een geheel getal van 1 tot 10 in te vullen en toont het getal dan in een woord uitgeschreven. Maar als de gebruiker een getal kleiner dan 1 of groter dan 10 invult, krijgt hij een foutmelding. Het programma ziet er zo uit:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal < 1:

print("Het getal is kleiner dan 1.")

elif getal > 10:

print("Het getal is groter dan 10.")

else:

print(getallen[getal])

Op de eerste regel maken we een dictionary aan met de getallen van 1 tot 10 als sleutel, met telkens als bijbehorende waarde een string met het getal in een woord uitgedrukt. Daarna roepen we de functie input aan met als argument een string met de vraag om een getal in te voeren. De functie input geeft als waarde de string terug die de gebruiker heeft ingevoerd. Die string zetten we met int om naar een geheel getal, op voorwaarde natuurlijk dat de gebruiker daadwerkelijk een getal heeft ingevoerd.

Daarna testen we met if getal < 1 of het getal kleiner is dan 1. In dat geval wordt de regel erna uitgevoerd. Als aan die eerste voorwaarde niet voldaan is, controleert Python de voorwaarde in de regel elif getal > 10. Zo ja, dan wordt de regel erna uitgevoerd; zo nee, dan wordt de regel na else: uitgevoerd.

Zo’n blok als hierboven kan meerdere controles met elif bevatten: die worden dan één voor één getest tot er aan een voorwaarde is voldaan. Overigens zijn de controles met elif en else optioneel. Je kunt dus eenvoudig alleen met if een voorwaarde testen: in het geval niet aan die voorwaarde is voldaan, gebeurt er niets en gaat het programma gewoon verder.

Voer je programma uit

Voer de code in het programmatekstveld van Thonny in. Je merkt dat Thonny de regels automatisch met vier tekens inspringt nadat je op Enter drukt na een regel met if, elif of else. Let op: zonder deze inspringing is de Python-code niet geldig. Nadat je de volledige code ingetypt hebt, sla je het bestand in Thonny op. Druk daarna op het groene icoontje met het driehoekje om het programma uit te voeren.

Als je een tikfout hebt gemaakt, krijg je in het onderste tekstveld een foutmelding te zien. Dat is bijvoorbeeld het geval als je een : op het einde van een regel met if, elif of else vergeet of als je de code niet correct inspringt. Verbeter dan je code en voer het programma opnieuw uit.

Je programma vraagt nu in het tekstveld onderaan om een getal van 1 tot 10 in te voeren. Test de verschillende onderdelen van je programma eens uit door een getal in te voeren dat te klein, te groot of binnen het bereik ligt. Na elke invoer druk je op Enter en krijg je het resultaat te zien. Voer het programma daarna opnieuw uit voor een volgende poging.

Programma’s op de opdrachtregel uitvoeren

Je hoeft je programma’s niet in Thonny uit te voeren. Als je op de Opdrachtprompt (onder Windows) of de Terminal (onder Linux of macOS) naar de directory gaat waarin je je Python-programma hebt opgeslagen, kun je het programma uitvoeren met de opdracht python3 naamvanprogramma.py.

Een bereik van getallen

Ons programma is ingewikkelder dan nodig. We hoeven eigenlijk niet te weten of het ingevoerde getal kleiner dan 1 is of groter dan 10: we willen gewoon weten of het in het gevraagde bereik van 1 tot 10 ligt. Daarbij kunnen we gebruikmaken van de functie range, die een bereik van getallen voorstelt. Zo kunnen we ons voorgaande programma vereenvoudigen tot:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal - 1 in range(len(getallen)):

print(getallen[getal])

else:

print("Het getal ligt niet binnen het bereik van 1 tot 10.")

We hebben nu nog maar één test met if nodig, zonder elif. In die controle testen we immers of het ingevoerde getal in het bereik ligt. Dat bereik berekenen we door de lengte van de dictionary met getallen door te geven aan de functie range. Omdat Python altijd vanaf 0 begint te tellen, is het bereik voor die dictionary met lengte 10 gelijk aan de getallen van 0 tot 9. Maar omdat wij mensen vanaf 1 beginnen te tellen, trekken we 1 van het ingevoerde getal af voordat we testen of het getal zich in het bereik bevindt. En zo komen we aan deze regel:

if getal - 1 in range(len(getallen)):

Voorwaardelijke lussen

Ons programma heeft nog één groot minpunt: als de gebruiker een waarde buiten het bereik invoert, stopt het programma gewoon en moet de gebruiker het programma opnieuw uitvoeren. Waarom kan het programma in dat geval niet uit zichzelf opnieuw naar een getal vragen? Dat kan, namelijk met while:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = 0

while getal - 1 not in range(len(getallen)):

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

print(getallen[getal])

In de regel met while testen we met not in of het ingevoerde getal zich niet binnen het bereik bevindt. In dat geval wordt de ingesprongen opdracht eronder uitgevoerd. En daarna gebeurt de test in de regel met while opnieuw, zolang het getal zich niet binnen het bereik bevindt. Pas wanneer het getal zich wel binnen het bereik bevindt, stopt het while-blok en gaat het programma verder met de laatste regel. Zo’n while-blok noemen we een lus, omdat het programma als het ware in rondjes draait zolang aan de voorwaarde op de while-regel is voldaan.

Let op: we kennen in het begin van het programma 0 toe aan de variabele getal zodat de while-lus de eerste keer sowieso wordt uitgevoerd.

Samenvatting

In deze les hebben we de stap gezet van afzonderlijke Python-opdrachten naar Python-programma’s. Dat deden we in de ontwikkelomgeving Thonny. We bekeken het datatype bool en werkten met voorwaarden in if-blokken en while-lussen. Daarbij maakten we ook gebruik van de functie range voor een bereik van getallen. We gebruikten input en print voor invoer en uitvoer. De volgende les besteden we volledig aan invoer en uitvoer, en bespreken we ook hoe je door elementen in een lijst of dictionary loopt.

Opdracht

Ons laatste programma heeft nog één nadeel: het vraagt bij de invoer van een getal buiten het bereik van 1 tot 10 gewoon opnieuw een getal zonder extra melding dat je iets verkeerds hebt ingetypt. Voeg die extra melding toe, zoals we wel in het programma met if hadden.

Uitwerking

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'} getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) while getal - 1 not in range(len(getallen)): print("Het getal ligt niet binnen het bereik van 1 tot 10.") getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) print(getallen[getal]) Dit programma combineert de ideeën achter onze twee vorige programma’s. We initialiseren getal nu niet met 0, maar met de invoer van de gebruiker. Als deze eerste keer het getal onmiddellijk in het bereik van 1 tot 10 ligt, is aan de voorwaarde van de while-lus niet voldaan en wordt het getal getoond. In het andere geval wordt de lus gestart, waarbij zolang het getal niet in het bereik ligt de gebruiker een melding daarvan krijgt en de vraag om een getal in te voeren.

Cheatsheet

argument: een waarde die je aan een functie doorgeeft. bool (‘booleaanse waarde’): waar (True) of niet waar (False). if: een test of er aan een voorwaarde is voldaan. ontwikkelomgeving (development environment): software die je ondersteunt bij het schrijven van programma’s. while: een lus die uitgevoerd wordt zolang er aan een voorwaarde is voldaan.

▼ Volgende artikel
Liebherr IRd 3900: waarom dit de favoriete inbouwkoelkast van 2025 is
Huis

Liebherr IRd 3900: waarom dit de favoriete inbouwkoelkast van 2025 is

Wat maakt een koelkast de allerbeste van het jaar? Niet een glanzende folder vol beloftes, maar de dagelijkse ervaringen van echte gebruikers. De Liebherr IRd 3900 is door consumenten van Kieskeurig.nl bekroond met de prestigieuze Best Reviewed van het Jaar-award 2025. Van de slimme EasyFresh-technologie tot het fluisterstille ontwerp en de praktische indeling: lees waarom dit model als de absolute favoriet uit de bus kwam en waarom gebruikers er zo enthousiast over zijn.

Partnerbijdrage - in samenwerking met Liebherr

Wie een inbouwkoelkast zoekt, heeft enorm veel keuze, maar één model wist het afgelopen jaar de harten van de Nederlandse consument echt te veroveren. Met zijn doordachte design, gebruiksvriendelijke bediening en bewezen betrouwbaarheid is de Liebherr IRd 3900 uitgeroepen tot Best Reviewed van het Jaar 2025. In dit artikel lees je wat deze inbouwkoelkast zo bijzonder maakt – en waarom gebruikers er zo lovend over zijn.

De stem van de consument: Best Reviewed 2025

De beste keuze volgens consumenten – dat is waar het bij Best Reviewed 2025 om draait. Want niets zegt zo veel als de ervaring van andere gebruikers. Jaarlijks delen duizenden consumenten hun eerlijke mening op Kieskeurig.nl. Hun reviews vormen de basis voor de Best Reviewed-awards. De producten die deze titel verdienen, hebben zich een heel jaar lang bewezen in de praktijk: ze blinken uit in kwaliteit, gebruiksgemak en klanttevredenheid. Absolute consumentenfavorieten dus – en in de categorie inbouwkoelkasten is de Liebherr IRd 3900 de winnaar geworden.

Van EasyFresh tot verstelbare indeling

De Liebherr IRd 3900 is een inbouwkoelkast die laat zien waarom het Duitse merk al jaren bekendstaat om betrouwbaarheid en technische vernieuwing. Deze koelkast combineert een strak, tijdloos design met praktische functies die het dagelijks leven makkelijker maken. Dankzij het EasyFresh-systeem blijven groenten en fruit langer vers: de ideale luchtvochtigheid in de lade voorkomt uitdroging en zorgt dat smaak en textuur behouden blijven. Dat maakt het apparaat niet alleen zuinig in gebruik, maar helpt ook voedsel langer goed te houden en verspilling te beperken.

©Liebherr

Wie de deur opent, merkt direct de doordachte indeling. Het interieur en de deurvakken zijn over de volledige hoogte verstelbaar, zodat je er moeiteloos alles in kwijt kunt wat koel moet blijven: of dat nu hoge flessen zijn of een brede ovenschotel. Fijn daarbij is dat de glazen draagplateaus tot wel 30 kg kunnen dragen. Daarbij zorgt de heldere LED-plafondverlichting voor een perfect overzicht, zelfs wanneer de koelkast vol is. De bediening verloopt via een intuïtief Touch-display, waarmee je supersnel de temperatuur of functies kunt aanpassen. Bovendien is de IRd 3900 voorbereid op SmartHome-toepassingen (accessoire). Liebherr biedt, na registratie, maar liefst 10 jaar garantie op dit model – dat doe je als merk natuurlijk alleen maar wanneer je helemaal overtuigd bent van je product.

©Liebherr

Waarom gebruikers enthousiast zijn

Die combinatie van slimme technologie en gebruiksgemak is ook precies wat consumenten zo waarderen. Uit tientallen reviews op Kieskeurig.nl blijkt dat gebruikers de IRd 3900 een uitzonderlijk hoge gemiddelde score van 9,1 geven. De koelkast wordt geroemd om zijn stille werking – "Dan zet je hem aan en hoor je nagenoeg niets! Heerlijk stille koelkast!" – en om de praktische indeling die volgens velen "fijn en flexibel" is. Ook wat betreft dagelijks gemak scoort de IRd 3900 hoog. "Door het digitale display makkelijk in te stellen naar de gewenste koeltemperatuur", zegt een van de reviewers. Een ander voegt daar nog aan toe: "Mooie heldere verlichting … Makkelijke display, goed zichtbaar en makkelijk te bedienen." Daarnaast valt op dat veel reviewers de energiezuinigheid en afwerking noemen als pluspunten: het apparaat voelt degelijk aan en doet precies wat het belooft.

©Liebherr

Een optelsom van kwaliteiten

De reden dat de Liebherr IRd 3900 de titel Best Reviewed van het Jaar 2025 heeft gewonnen, ligt dus in de optelsom van al deze kwaliteiten. Hij combineert gedegen techniek met praktische voordelen die in het dagelijks leven écht verschil maken. Of het nu gaat om de versheid van producten, het handige display of het overzichtelijke interieur: deze inbouwkoelkast weet consumenten te overtuigen in alles wat ertoe doet. En dat maakt de Liebherr IRd 3900 niet alleen een technisch sterk product, maar vooral een betrouwbare huisgenoot waar mensen jarenlang plezier van hebben.

Een eerlijk oordeel

Natuurlijk is geen enkel product perfect. Gebruikers op Kieskeurig.nl zijn ook kritisch: sommige kopers vinden de groente- en fruitlade aan de kleine kant of noemen dat er sneller condens kan ontstaan. Een paar mensen geven ook aan dat je even moet wennen aan het instellen via het display, en dat de montage van de deur wat meer aandacht vraagt. Tegelijk zie je waarom dat voor de meeste kopers geen struikelblok is. Ze benadrukken vooral hoe stil de koelkast is, hoe ruim hij aanvoelt en hoe makkelijk je de indeling aanpast aan wat je in huis haalt. Daardoor wegen die minpunten voor veel mensen niet op tegen wat je dagelijks merkt: rust in de keuken, goed overzicht en een indeling die je naar eigen wens kunt aanpassen.

Ontdek alle pluspunten van de Liebherr IRd 3900

Op Kieskeurig.nl
▼ Volgende artikel
Zo zien The Beatles er uit in de aankomende films
Huis

Zo zien The Beatles er uit in de aankomende films

Er zijn eerste foto's uitgekomen van de acteurs in de rol van The Beatles voor de aankomende vier films rondom de legendarische Britse band.

Het Liverpool Institute for Performing Arts (LIPA) deelde via social media officiële ansichtkaarten van de aankomende films, waarop die vier acteurs te zien zijn in de rol van de The Beatles-bandleden. Kort daarna werden de afbeeldingen als officiële foto's naar buiten gebracht. Ze zijn hieronder te zien.

Op de foto's zien we Paul Mescal (Normal People, Gladiator 2) als Paul McCartney, Harris Dickinson (Triangle of Sadness, Babygirl) als John Lennon), Barry Keoghan (Saltburn, The Killing of a Sacred Dear) als Ringo Starr en Joseph Quinn (The Fantasic Four: First Steps, Stranger Things) als George Harrison. Fans merken op dat de gelijkenissen tussen de acteurs en de bandleden erg goed gelukt zijn.

View post on X

Over de Beatles-films

Het is al geruime tijd bekend dat Sam Mendes (American Beauty, 1917, Spectre) aan vier The Beatles-films werkt, waarbij elke film zich op een ander lid van de band richt. De vier films verschijnen onder de naam 'The Beatles - A Four-Film Cinematic Event'. De films zullen alle vier op 7 april 2028 in de bioscoop draaien.

The Beatles behoeven eigenlijk geen introductie: de band, die actief was van 1960 tot 1970, worden beschouwd als de meest invloedrijke band uit de geschiedenis van popmuziek. Met nummers als 'Yesterday', 'Let It Be', 'All You Need is Love', 'Hey Jude' en 'Here Comes the Sun' waren ze niet weg te slaan uit de hitlijsten, en zorgden vele miljoenen fans wereldwijd voor 'Beatlemania'.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.