Uitgelichte cursus
Python-oefeningen bij Youtube videoreeks UHasselt
Dirk Peeters
Python · voor beginners · klassikaal of zelfstudie
Python leren, video per video: 119 korte oefeningen die je van je eerste print tot dictionaries en sets brengen.
Deze oefeningen werden geselecteerd en opgesteld als begeleidende oefeningen bij de Nederlandstalige Youtube-videoreeks “UHasselt tutorials”, die je stap voor stap leert programmeren in Python. De oefeningen zijn meestal erg kort en bedoeld om heel specifieke kennis in te oefenen, aangevuld met een werkboek en een actieve Discord-community.
Wat leer je?
- Input & output
- Getallen & berekeningen
- Booleaanse expressies & if-statements
- While-lussen
- For-lussen & range
- Strings
- Lijsten
- 2D-lijsten
- Dictionaries
- Sets
De videoreeks
Zoek op Youtube naar het kanaal UHasselt tutorials en abonneer je erop, zodat je de reeks de volgende keer via je abonnementen makkelijk terugvindt. Omdat er soms maanden tussen nieuwe video’s zitten, kan het zinvol zijn om meldingen te activeren.
Het werkboek
Na het bekijken van een video is het raadzaam om de kennis uit de video te verwerken aan de hand van het werkboek. Deze aanpak garandeert dat de kennis met aandacht verwerkt wordt, dat je je het jargon eigen maakt en dat het oplossen van oefeningen daarna vlotter verloopt. Bovendien bouw je zo een eigen syllabus op die nadien vlot raadpleegbaar is.
Computationeel denken en handelen — Programmeren met Python · Pelckmans · ISBN 978-94-6401-371-9
Tempo en opbouw
- De eerste 71 oefeningen (t.e.m. de for-lus) kan je oplossen na de eerste 32 video’s van de reeks. Dat is de leerstof van één schooljaar aan 1 lesuur per week.
- Voor de leerstof achter de resterende 48 van de 119 oefeningen verwijzen we op dit moment graag door naar het fantastische boek “de programmeursleerling” — opnieuw één schooljaar aan 1 lesuur per week.
- Aan 2 lesuren per week is het dus haalbaar om alle kennis en alle oefeningen uit deze reeks in één schooljaar te behandelen.
Samen leren
Wil je graag — in het Nederlands — contact hebben met anderen die de videoreeks volgen, aan de oefeningen werken of Python aan het leren zijn? Dan ben je welkom op onze Discord-server.
Waar schrijf je je code?
Je kan tegenwoordig code schrijven en testen binnen Dodona zelf — voor beginnende programmeurs raden we dat zeker aan. Meer gevorderde programmeurs kunnen hun code ook in een andere IDE schrijven, online (bv. replit.com) of geïnstalleerd op je computer (IDLE, Mu, PyCharm, Visual Studio Code, …), en die daarna naar Dodona kopiëren om in te dienen.
Dirk Peeters · UHasselt tutorials (Youtube) — de oefeningen zijn geïnspireerd op het werk van Vitaly Pavlenko (snakify.org).
Als student kan je je voor deze cursus niet inschrijven. Vraag aan de lesgever om een kopie te maken. Ben je zelf lesgever en wil je met deze cursus aan de slag? Vraag dan hier lesgeversrechten aan om een kopie te kunnen maken voor je studenten.
Leerpad
Alle reeksen in deze cursusVideoreeks ter voorbereiding op de oefeningen uit Reeks 1: Input/print
Oefeningen die je aanleren om vlot te werken met de inbegrepen Python functies input() en print().
Deze functies maken invoer via het toetsenbord en uitvoer naar het scherm (afdrukken) mogelijk.
Zonder invoer en uitvoer is interactie dmv een Python programma/script niet mogelijk.
Je kunt al deze oefeningen maken nadat je de video’s uit “Videoreeks 1: Input/print” hebt bekeken.
(Aanvulling: voor het oplossen van de laatste oefening uit deze reeks moet je de video 12 “De functie str()” uit de volgende reeks bekijken)
| Status | Status | Type | Titel |
|---|---|---|---|
| Som van 3 getallen | |||
| Oppervlak van een driehoek | |||
| Tijd tussen 2 tijdstippen | |||
| Hallo, Harry! | |||
| Vorig en volgend getal |
Oefeningen die je allerlei berekeningen laten uitvoeren.
Natuurlijk gaat dat over de som, het verschil, de vermenigvuldiging en de deling.
Maar ook de machtsverheffing, de geheeltallige deling (floor division) en de restberekening (modulo) komen aan bod.
Je kunt al deze oefeningen maken nadat je de video’s uit “Videoreeks 2: Werken met getallen” hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Twee laatste cijfers | |||
| Appels verdelen | |||
| Getal splitsen | |||
| Tiental isoleren | |||
| Som van de cijfers | |||
| Cijfers omwisselen |
Oefeningen die je allerlei berekeningen laten uitvoeren.
Natuurlijk gaat dat over de som, het verschil, de vermenigvuldiging en de deling.
Maar ook de machtsverheffing, de geheeltallige deling (floor division) en de restberekening (modulo) komen aan bod.
Je kunt al deze oefeningen maken nadat je de video’s uit “Videoreeks 2: Werken met getallen” hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Aankomstdag | |||
| Welke eeuw | |||
| Welke weekdag |
Oefeningen die je allerlei berekeningen laten uitvoeren.
Natuurlijk gaat dat over de som, het verschil, de vermenigvuldiging en de deling.
Maar ook de machtsverheffing, de geheeltallige deling (floor division) en de restberekening (modulo) komen aan bod.
Je kunt al deze oefeningen maken nadat je de video’s uit “Videoreeks 2: Werken met getallen” hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Analoge klok | |||
| Digitale naar analoge klok | |||
| Digitale klok | |||
| Verlopen uren en minuten |
Oefeningen die je allerlei berekeningen laten uitvoeren.
Natuurlijk gaat dat over de som, het verschil, de vermenigvuldiging en de deling.
Maar ook de machtsverheffing, de geheeltallige deling (floor division) en de restberekening (modulo) komen aan bod.
Je kunt al deze oefeningen maken nadat je de video’s uit “Videoreeks 2: Werken met getallen” hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Eerste cijfer na de komma | |||
| Koekjes kopen |
Videoreeks ter voorbereidingen op de oefeningen Reeks 3: if/else
| Status | Status | Type | Titel |
|---|---|---|---|
| De booleaanse expressie of bewering (True/False) | |||
| Het if-statement (ALS/DAN) | |||
| De relationele operatoren | |||
| Het if-statement (1ste uitbreiding) (if/else) | |||
| Booleaanse operatoren or/not | |||
| Booleaanse operator and | |||
| De backslash | |||
| if-statement if/elif/else | |||
| Ingebouwde functies |
Oefeningen die het if/else-statement inoefenen, om in de volgende reeksen uit te
breiden naar samengestelde beweringen en naar het if/elif/else-statement.
Na de if hoort steeds een bewering (Booleaanse expressie) te staan. Het
bouwen van zinvolle Booleaanse expressies is hier net zo belangrijk als het
onder de knie krijgen van de if/else-syntax.
In deze eerste reeks bestaat de bewering telkens uit één vergelijking met een relationele operator. Let goed op de indentatie, die bepaalt welke takenlijst bij welke tak hoort.
Geraak je er niet meteen uit, dan heb je misschien één van de nodige onderwerpen nog niet behandeld gezien in de video’s, kijk dan even verder.
Na het maken van de oefeningen in deze en de volgende reeksen zullen de begrippen relationele operator, takenlijst, indentatie en Booleaanse waarde geen geheimen meer hebben.
Je kunt deze oefeningen maken nadat je de video’s Booleaanse expressie, If-statement, Relationele operatoren en If/else-statement hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Kleinste van 2 getallen | |||
| Even of oneven | |||
| Getal van 3 cijfers | |||
| Schaakspel - donker veld | |||
| Schaakspel - zelfde kleur | |||
| Cijfers in volgorde | |||
| Schaakspel - paardensprong |
Eén vergelijking volstaat niet altijd. Met de Booleaanse operatoren and en or
bouw je uit meerdere vergelijkingen één bewering.
Denk vooraf na over welke gevallen samen True moeten opleveren, en gebruik
haakjes zodra je and en or in dezelfde bewering combineert. Bij Schrikkeljaar
heb je ze allebei nodig.
Je kunt deze oefeningen maken nadat je de video’s Booleaanse operatoren or, not en Booleaanse operator and hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| 1 van 2 is positief | |||
| Schaakspel - Toren aan zet | |||
| Palindroom van 4 cijfers | |||
| De volgende dag | |||
| Schrikkeljaar |
Drie oefeningen over de zetten van de loper, de koning en de koningin.
Voor elk van die stukken bepaalt het verschil tussen de twee kolomnummers en
tussen de twee rijnummers of een zet geldig is, en niet in welke richting dat
verschil gaat. De ingebouwde functie abs() geeft je de absolute waarde van een
getal, en houdt zo’n bewering kort.
Je kunt deze oefeningen maken nadat je de video Ingebouwde functies hebt bekeken. Die video komt achteraan in de reeks video’s, dus wellicht heb je hem nog niet gezien: kijk gerust even vooruit.
| Status | Status | Type | Titel |
|---|---|---|---|
| Schaakspel - Loper aan zet | |||
| Schaakspel - Koning aan zet | |||
| Schaakspel - Koningin aan zet |
Soms zijn er meer dan twee mogelijke uitkomsten. Met elif hang je extra
beweringen aan hetzelfde statement.
Python overloopt de voorwaarden van boven naar onder, en voert enkel de takenlijst
uit van de eerste bewering die True oplevert. De volgorde van je takken is
dus een deel van de oplossing: een latere elif mag eenvoudiger zijn, omdat de
gevallen erboven al afgehandeld zijn.
Je kunt deze oefeningen maken nadat je de video If-statement: if/elif/else hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Groter, kleiner, gelijk aan 0 | |||
| Aantal dagen in maand | |||
| Het zwarte schaap | |||
| Het 4de hoekpunt | |||
| Sorteer 3 getallen | |||
| Lineaire vergelijking |
Drie oefeningen waarin je niet twee, maar drie of vijf getallen met elkaar vergelijkt. Er komt geen nieuwe syntax bij: je hebt alles al gezien.
Kleinste van 3 getallen los je nog op met één if/elif/else. Bij Kleinste van
5 getallen wordt die aanpak onwerkbaar, en hou je in de plaats een variabele bij
die je stap voor stap bijstelt, telkens met een losse if zonder else. Die
manier van werken komt terug zodra je met lussen begint.
| Status | Status | Type | Titel |
|---|---|---|---|
| Kleinste van 3 getallen | |||
| Aantal gelijke getallen | |||
| Kleinste van 5 getallen |
Oefeningen die je aanleren om vlot te werken met de eerste van 2 lussen, namelijk
de while-lus.
Zoals je in de video’s leert kan de while-lus altijd gebruikt worden. Je hoeft
op voorhand niet te weten hoe vaak een herhaling zal worden uitgevoerd.
De while-lus sluit heel goed aan bij het if-statement: beiden starten met een
Booleaanse expressie. Het verschil is dat een if z’n takenlijst hoogstens
één keer uitvoert, en een while blijft herhalen zolang de bewering True
oplevert.
In deze eerste reeks lees je één getal in, en tel je daarna stap voor stap verder tot een berekende waarde een grens bereikt. Zorg er telkens voor dat er in de takenlijst iets verandert aan de bewering, anders stopt je lus nooit.
Je kunt deze oefeningen maken nadat je de video’s Iteraties: introductie en
Iteraties: while-lus hebt bekeken. Voor Serie van kwadraten heb je daarnaast
het keyword argument end van de functie print() nodig, dat pas verderop in de
video’s aan bod komt: kijk gerust even vooruit.
| Status | Status | Type | Titel |
|---|---|---|---|
| Serie van kwadraten | |||
| Kleinste gehele deler | |||
| Machten van 2 | |||
| Start to Run |
Vanaf hier lees je geen enkel getal meer in, maar een hele reeks, waarvan je
op voorhand niet weet hoe lang die is. De gebruiker sluit de reeks af met een 0.
Dat geeft je telkens hetzelfde stramien: je leest een eerste getal vóór de lus,
en je leest het volgende getal als laatste stap in de takenlijst. Vergeet die
tweede input() niet, anders blijft de bewering eeuwig True.
In deze reeks hou je één variabele bij die je bij elk getal bijstelt: een teller of een som. Merk op dat je voor Gemiddelde van onbepaalde reeks getallen de twee van hiervoor tegelijk nodig hebt.
| Status | Status | Type | Titel |
|---|---|---|---|
| Lengte van een reeks | |||
| Som van onbepaalde reeks getallen | |||
| Gemiddelde van onbepaalde reeks getallen |
Dezelfde reeks getallen, afgesloten met een 0, maar nu moet je niet elk getal
meetellen.
Daarvoor komt er een if in de takenlijst van je while-lus. Je hebt dus twee
beweringen die elk iets anders doen: die van de while bepaalt of je nog doorgaat,
die van de if bepaalt of dit getal meetelt.
Denk goed na over de beginwaarde van de variabele die je bijhoudt. Bij een maximum ligt die niet altijd voor de hand.
| Status | Status | Type | Titel |
|---|---|---|---|
| Maximum van onbepaalde reeks getallen | |||
| Positie van maximum waarde | |||
| Aantal even getallen in reeks |
In deze reeks volstaat één variabele niet meer. Je houdt er twee of drie tegelijk bij, en de moeilijkheid zit in de volgorde waarin je ze bijstelt.
Bij Groter dan voorgaande in reeks moet je onthouden welk getal je daarvóór zag. Bij Op één-na-hoogste waarde in de reeks en Aantal maal hoogste waarde in de reeks moet je een tweede variabele soms mee aanpassen op het moment dat er een nieuwe hoogste waarde langskomt.
Schrijf voor jezelf eerst eens uit wat er met elke variabele gebeurt bij een concrete reeks van 5 getallen. Dat is hier sneller dan meteen beginnen te typen.
| Status | Status | Type | Titel |
|---|---|---|---|
| Groter dan voorgaande in reeks | |||
| Op één-na-hoogste waarde in de reeks | |||
| Aantal maal hoogste waarde in de reeks | |||
| Langste serie gelijke waarden in reeks |
Twee slotoefeningen over de rij van Fibonacci, waarbij elk element de som is van de twee elementen ervoor.
Je hebt hier alles samen nodig: een while-lus, meerdere variabelen die je in de
juiste volgorde bijstelt, en een if/elif/else in de takenlijst. Nieuw is dat je
niet één maar twee vorige waarden moet onthouden.
Let ook op de gevallen aan het begin van de rij, die niet uit een berekening volgen en die je apart moet afhandelen.
| Status | Status | Type | Titel |
|---|---|---|---|
| Fibonacci reeks | |||
| Is het een Fibonacci waarde |
Oefeningen die je aanleren om vlot te werken met de tweede van 2 lussen, namelijk
de for-lus.
Zoals je in de video’s leert is de for-lus bruikbaar wanneer je op voorhand weet
hoe vaak een herhaling zal worden uitgevoerd. Ofwel omdat je dat aantal zelf
vastlegt, ofwel omdat je het aan de gebruiker vraagt.
Dat is meteen het verschil met de while-lus van hiervoor. Daar hield je zelf een
teller bij die je in de takenlijst moest ophogen. De for-lus doet dat voor jou:
range(10) levert je de waarden 0 tot en met 9.
Let bij het maken goed op de rol van de lusvariabele. In de eerste oefeningen
dient die enkel om te tellen hoe vaak je al herhaald hebt, en lees je binnen de lus
telkens een getal in. Vanaf Print de getallen x tem y verandert dat: je leest
niets meer in, en de lusvariabele is zelf het gegeven waarmee je rekent. Je geeft
range() daarvoor een begin- én een eindwaarde mee, waarbij die eindwaarde zelf er
niet bij hoort.
In de laatste oefeningen zit de moeilijkheid niet meer in de takenlijst, maar in
het bereik van je lus: twee lussen na elkaar, een lus in een lus, of een
range() met een derde argument (de stapgrootte).
Je kunt al deze oefeningen maken nadat je de video’s uit Videoreeks 5: for-lus hebt bekeken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Som van 10 getallen | |||
| Som van N getallen | |||
| Tel het aantal nullen | |||
| Print de getallen x tem y | |||
| Faculteit berekenen | |||
| Som van 3de machten | |||
| Som van faculteiten | |||
| De verloren kaart | |||
| De getalladder | |||
| Print getallen x tem y op of af |
Oefeningen die je aanleren om vlot manipulaties uit te voeren op waarden van het datatype string.
Een string is een rij tekens. Met een index tussen vierkante haken haal je er één teken uit, met een slice een heel stuk. Denk eraan dat de eerste positie 0 is, en dat je met een negatieve index vanaf het einde telt.
In deze eerste reeks heb je aan indexeren, slicen en de functie len() genoeg.
Merk op dat je een string zelf niet kunt wijzigen: je bouwt telkens een nieuwe
string op uit stukken van de oude.
Je kunt deze oefeningen maken nadat je de video’s uit Videoreeks 6: Werken met strings hebt bekeken.
Daar we daarmee aan de laatste video’s aanbeland zijn, is het zinvol om stilaan over te schakelen naar het boek De programmeursleerling van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn website. Vanaf de volgende reeks heb je hoofdstuk 10 nodig, en het boek zal je ook helpen bij de reeksen daarna.
| Status | Status | Type | Titel |
|---|---|---|---|
| Slicing basics | |||
| Twee halve strings | |||
| Wis elk 3de teken |
Vanaf hier volstaat slicen niet meer: je moet eerst zoeken waar iets staat.
Daarvoor gebruik je string-methodes. str.count() telt hoe vaak een teken
voorkomt, str.find() geeft de positie van de eerste verschijning, en
str.rfind() die van de laatste. Geef je str.find() een tweede argument mee, dan
begint die pas vanaf die positie te zoeken.
Let goed op wat str.find() teruggeeft als er niets te vinden is: dat is -1, en
geen foutmelding. Verschillende oefeningen hangen precies daarvan af.
Eens je een positie hebt, snijd je er de string mee in stukken, net zoals in de vorige reeks. Bij Verwijder het tussenstuk en Keer het tussenstuk om heb je twee posities tegelijk nodig.
Deze oefeningen kunnen ook klassiek opgelost worden, zonder string-methodes, met een lus die de string teken per teken overloopt. Dat is leerzaam, maar meestal een stuk omslachtiger. Leerkrachten vinden voor een aantal oefeningen beide model-oplossingen terug.
Deze methodes komen niet aan bod in de video’s: daarvoor kijk je in hoofdstuk 10 van De programmeursleerling.
| Status | Status | Type | Titel |
|---|---|---|---|
| Aantal woorden | |||
| Woorden omwisselen | |||
| Tweede verschijning | |||
| Eerste en laatste verschijning | |||
| Verwijder het tussenstuk | |||
| Keer het tussenstuk om |
In deze laatste reeks vervang je stukken van een string.
Met str.replace() vervang je in één keer alle verschijningen van een stuk
tekst door een ander. Vervang je door de lege string "", dan verwijder je dat
stuk gewoon.
De eerste twee oefeningen vormen bewust een paar: bij Vervang substring doe je
het met de hand, met een lus die de string teken per teken overloopt, en bij
Verwijder teken laat je str.replace() het werk doen. Zo zie je meteen wat zo’n
methode je bespaart.
Bij Vervang binnen fragment mag de vervanging net niet overal gebeuren, maar
enkel tussen de eerste en de laatste a. Daar combineer je het zoeken en snijden
uit de vorige reeks met str.replace(): knip de string eerst in drie, pas de
vervanging enkel toe op het middenstuk, en plak de drie stukken weer aan elkaar.
Ook str.replace() vind je terug in hoofdstuk 10 van De programmeursleerling.
| Status | Status | Type | Titel |
|---|---|---|---|
| Vervang substring | |||
| Verwijder teken | |||
| Vervang binnen fragment |
Oefeningen die je aanleren om vlot manipulaties uit te voeren op waarden van het datatype list.
Een lijst is een geordende collectie. Net als bij een string haal je met een
index tussen vierkante haken één element op, en zegt len() je hoeveel elementen
erin zitten. Het grote verschil komt later in deze reeksen aan bod: een lijst kun
je wél wijzigen.
In deze eerste reeks maak je een lijst en overloop je die één keer. Je start van de
lege lijst [] en breidt die uit met de methode list.append(). Vanaf Maak
getallenlijst van string doe je dat op basis van wat de gebruiker intypt, met
str.split(), die je string opdeelt in stukken. Let op: die stukken zijn nog
strings, dus zet ze eerst om met int().
Dat stukje code keert in zowat elke oefening van deze en de volgende reeksen terug. De moeite waard dus om het één keer goed te schrijven.
Bekijk voor het maken van deze oefeningen de video’s Introductie datatype list,
De functie len() en Uitbreiding functie print(): sterretje uit Videoreeks 7:
Werken met lists. Die laatste toont je hoe je met print(*lijst) alle elementen
na elkaar afdrukt.
Wil je verder doen met de oefeningen uit de volgende reeksen, schakel dan over naar het boek De programmeursleerling van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn website. Na het doornemen van hoofdstuk 12 ben je in staat om die oefeningen te maken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Maak en toon onbepaalde getallenlijst | |||
| Maak getallenlijst van string | |||
| Even indices | |||
| Even waarden |
In deze reeks kijk je niet naar één element tegelijk, maar naar twee elementen naast elkaar.
Dat betekent dat je met index-waarden werkt in plaats van rechtstreeks over de
lijst te lopen: enkel zo geraak je vanaf lijst[i] ook bij lijst[i-1] of
lijst[i+1]. Denk daarbij goed na over het bereik van je lus. Het eerste element
heeft geen linkerbuur en het laatste geen rechterbuur, dus range(len(lijst)) is
hier bijna nooit wat je wil.
Aantal groter dan de buren kijkt naar allebei de buren tegelijk. In Python mag je
zo’n dubbele vergelijking gewoon aan elkaar schrijven: a < b > c betekent net wat
je verwacht.
Buren wisselen van plaats is de eerste oefening waarin je de lijst zelf
wijzigt, in plaats van er een nieuwe naast op te bouwen. Dat kan bij een lijst,
en kon niet bij een string. Om twee elementen van plaats te wisselen heb je normaal
een hulpvariabele nodig, maar Python laat je het ook in één regel schrijven:
lijst[i], lijst[j] = lijst[j], lijst[i].
| Status | Status | Type | Titel |
|---|---|---|---|
| Groter dan linker buur | |||
| Goede buren | |||
| Aantal groter dan de buren | |||
| Aantal verschillende waarden | |||
| Buren wisselen van plaats |
Hier zoom je uit: je vraagt je niet meer af hoe een element zich verhoudt tot z’n buur, maar tot de hele lijst.
Voor een deel van dat werk bestaan er kant-en-klare functies en methodes. max()
en min() geven je de grootste en de kleinste waarde, list.index() de positie
van de eerste verschijning van een waarde, en list.count() hoe vaak een waarde
voorkomt.
Bij Aantal paren in lijst bestaat zoiets niet. Daar zet je een lus in een lus:
voor elk element ga je alle elementen die erna komen af. Zorg dat je binnenste lus
start bij i + 1, anders tel je elk paar twee keer.
Unieke waarden kun je op allebei de manieren aanpakken: met list.count() per
element, of met de geneste lus van hiervoor. Probeer gerust de twee.
| Status | Status | Type | Titel |
|---|---|---|---|
| Maximum van de lijst | |||
| Wissel minimum en maximum van plaats | |||
| Aantal paren in lijst | |||
| Unieke waarden |
In deze laatste twee oefeningen zitten er in je lijst geen getallen meer, maar andere lijsten.
velden[3] geeft je dan geen getal maar een lijst, en met velden[3][0] haal je
daar het eerste element uit. Zo hou je in één variabele een heel rooster bij.
Handig om te weten bij Bowling: met aantal * ["I"] maak je in één keer een
lijst met evenveel dezelfde elementen. Zo hoef je die niet stuk voor stuk toe te
voegen.
Beide oefeningen zijn een pak pittiger dan wat hiervoor kwam. Ze zijn bedoeld als opstap naar de reeks over 2D-lijsten, dus neem er gerust je tijd voor.
| Status | Status | Type | Titel |
|---|---|---|---|
| Acht koninginnen | |||
| Bowling |
We zien 2D lijsten als een uitbreiding op de gewone lijst.
Een 2D lijst, is een lijst die bestaat uit lijsten.
Een wiskundige matrix, kan makkelijk gemodelleerd worden adhv 2D lijsten.
Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.
Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 12, ben je in staat om de oefeningen uit deze reeks te maken.
Dit hoofdstuk nam je reeds door voor de oefeningenreeks over lijsten, een 2D lijst is slechts een kleine uitbreiden van de lijst.
| Status | Status | Type | Titel |
|---|---|---|---|
| Schaal toepassen | |||
| Maximum waarde vinden in 2D lijst | |||
| Diagonaal vullen van 2D lijst | |||
| Driehoeken vullen van 2D lijst | |||
| Wissel kolommen van 2D lijst | |||
| Sneeuwvlok | |||
| Schaakbord |
Deze oefeningen leren je werken met het datatype set.
Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.
Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 14, ben je in staat om de oefeningen uit deze reeks te maken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Aantal verschillende waarden | |||
| Aantal waarden in doorsnede | |||
| Waarden in doorsnede | |||
| Deja vu | |||
| Raad het getal |
Je leert werken met waarden van het datatype dictionary (dict).
Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen.
Wil je verder doen met de oefeningen uit deze reeks, schakel dan over naar het boek “De programmeursleerling” van Prof. Spronck. Zijn boek (pdf) is gratis downloadbaar via zijn “website”. Na het doornemen van hoofdstuk 13, ben je in staat om de oefeningen uit deze reeks te maken.
| Status | Status | Type | Titel |
|---|---|---|---|
| Aantal verschijningen | |||
| Tegengestelden | |||
| Verkiezingen | |||
| Vaakst voorkomend woord | |||
| Toegangsrechten | |||
| Landen en steden | |||
| Tekstanalyse | |||
| Woordenboek Ned-Latijn |