Python-oefeningen bij Youtube videoreeks UHasselt (2023–2024)
Dirk Peeters
Deze oefeningen werden geselecteerd en opgesteld als begeleidende oefeningen bij de Youtube videoreeks die “jou leert programmeren in Python”.
Zoek op Youtube naar het kanaal “UHasselt tutorials” en abonneer je erop (zodat je de reeks de volgende keer - via je abonnementen - makkelijk terug vindt). Daar er soms maanden zitten tussen het verschijnen van nieuwe video’s kan het zinvol zijn om “meldingen” te activeren.
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 jargon eigen gemaakt wordt en dat het oplossen van oefeningen daarna vlotter verloopt. Bovendien bouwt men zo een “eigen” syllabus op die nadien vlot raadpleegbaar is. (Computationeel denken en handelen - Programmeren met Python - Pelckmans - ISBN 978-94-6401-371-9)
De oefeningen in deze reeks zijn meestal erg kort, en zijn bedoeld om heel specifieke kennis in te oefenen. De eerste 71 oefeningen (tem for-lus) kunnen opgelost worden na het bekijken van de eerste 32 video’s van de videoreeks. Dit omvat de leerstof die in 1 schooljaar behandeld kan worden naar rato van 1 lesuur/week.
Voor de leerstof nodig voor het oplossen van de resterende oefeningen (48 van 119) verwijzen we op dit moment graag door naar het fantastische boek “de programmeursleerling”. Voor het verwerken van de leerstof en het maken van deze oefeningen is opnieuw 1 schooljaar nodig naar rato van 1 lesuur/week.
Dit betekent natuurlijk ook dat, naar rato van 2 lesuren/week, het haalbaar moet zijn om alle kennis en alle oefeningen uit deze reeks te behandelen in 1 schooljaar.
Wil je graag - in het Nederlands - contact hebben met anderen die de videoreeks volgen, die aan de oefeningen werken, die Python aan het leren zijn … dan ben je welkom op onze discord server. Hier is de link –> https://discord.gg/TbdFCp4
Opgelet! Je kan tegenwoordig code schrijven en testen binnen Dodona (dat was vroeger niet het geval). Voor beginnende programmeurs raden we dat zeker aan. Meer gevorderde programmeurs kunnen hun code ook schrijven in een andere IDE (Integrated Development Environment). Vervolgens copy-paste je de code naar Dodona om in te dienen. Er zijn online IDE”s (bv. replit.com) maar ook IDE’s die je kan installeren op je computer (bv IDLE, Mu, Pycharm, Visual Studio Code, …).
De oefeningen zijn geïnspireerd op het werk van Vitaly Pavlenko (www.snakify.org).
Je bent niet geregistreerd voor deze cursus.
RegistrerenOefeningen 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 kan al deze oefeningen oplossen na het bekijken van de video’s 1 tem 10.
(Aanvulling: voor het oplossen van de laatste oefening uit deze reeks moet je video 12 bekijken)
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 kan al deze oefeningen oplossen na het bekijken van de video’s tem 18.
Oefeningen die het if\else
-statement inoefenen, alvorens (binnen dezelfde reeks) uit te breiden naar het if\elif\else
-statement.
Na de if
of elif
hoort steeds een bewering (Booleaanse expressie) te staan.
Het bouwen van zinvolle Booleaanse expressies, is (in deze oefeningenreeks) net zo belangrijk als het onder de knie krijgen van de if/elif/else-syntax.
Het opstellen van zinvolle Booleaanse expressies, vereist al snel het gebruik van relationele operatoren, Booleaanse operatoren, ingebouwde functies zoals abs()
, max()
, min()
, len()
, …
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 deze oeningen zullen de begrippen relationele operator, takenlijst, indentatie en booleaanse waarde geen geheimen meer hebben.
Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 27.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
Kleinste van 2 getallen | |||||
Even of oneven | |||||
Getal van 3 cijfers | |||||
Schaakspel - donker veld | |||||
Schaakspel - zelfde kleur | |||||
Cijfers in volgorde | |||||
Schaakspel - paardensprong | |||||
1 van 2 is positief | |||||
Schaakspel - Toren aan zet | |||||
Palindroom van 4 cijfers | |||||
De volgende dag | |||||
Schrikkeljaar | |||||
Schaakspel - Loper aan zet | |||||
Schaakspel - Koning aan zet | |||||
Schaakspel - Koningin aan zet | |||||
Groter, kleiner, gelijk aan 0 | |||||
Aantal dagen in maand | |||||
Het zwarte schaap | |||||
Het 4de hoekpunt | |||||
Sorteer 3 getallen | |||||
Lineaire vergelijking | |||||
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 videoreeks leert kan de while
-lus altijd gebruikt worden. Men hoeft op voorhand niet te weten hoe vaak een herhaling zal worden uitgevoerd.
Zoals je zag in de videoreeks, sluit de while
-lus heel goed aan bij het if
-statement. Beiden starten met een booleaanse expressie!
Regelmatig moeten waarden op het scherm verschijnen, zonder dat die steeds op een nieuwe regel verschijnen. Daarvoor zal je de keyword argumenten sep
en end
, die horen bij de functie print()
moeten gebruiken.
Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 29.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
Serie van kwadraten | |||||
Kleinste gehele deler | |||||
Machten van 2 | |||||
Start to Run | |||||
Lengte van een reeks | |||||
Som van onbepaalde reeks getallen | |||||
Gemiddelde van onbepaalde reeks getallen | |||||
Maximum van onbepaalde reeks getallen | |||||
Positie van maximum waarde | |||||
Aantal even getallen in reeks | |||||
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 | |||||
Fibonacci reeks | |||||
Is het een Fibonacci waarde |
Oefeningen die je aanleren om vlot te werken met de eerste van 2 lussen; namelijk de for
-lus.
Zoals je in de videoreeks leert is de for
-lus bruikbaar wanneer je op voorhand weet hoe vaak een herhaling zal worden uitgevoerd.
Of wel omdat je het op voorhand vastlegt, ofwel om dat je beschikbare collectie gebruikt.
Je kan al deze oefeningen oplossen na het bekijken van de video’s tem 32.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
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 te kunnen uitvoeren op waarden van het datatype string.
Slicing, len()
, …
Voorlopig zijn er geen video’s beschikbaar die de nodige kennis overbrengen, al zitten ze wel in de pijplijn.
Deze oefeningen kunnen klassiek opgelost worden (zonder het gebruik van string-methodes), al is het vaak makkelijker om wel string-methodes te gebruiken. Leerkrachten kunnen zowel een model-oplossing met en zonder string-methodes terugvinden.
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 10, ben je in staat om de oefeningen uit deze reeks te maken.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
Slicing basics | |||||
Twee halve strings | |||||
Wis elk 3de teken | |||||
Aantal woorden | |||||
Woorden omwisselen | |||||
Tweede verschijning | |||||
Eerste en laatste verschijning | |||||
Verwijder het tussenstuk | |||||
Keer het tussenstuk om | |||||
Vervang substring | |||||
Verwijder teken | |||||
Vervang binnen fragment |
Oefeningen die je aanleren om vlot manipulaties te kunnen uitvoeren op waarden van het datatype list.
Slicing, len()
, …
List methodes zoals append()
, extend()
, pop()
, …
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.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
Maak en toon getallenlijst | |||||
Maak en toon onbepaalde getallenlijst | |||||
Maak getallenlijst van string | |||||
Even indices | |||||
Even waarden | |||||
Groter dan linker buur | |||||
Goede buren | |||||
Aantal groter dan de buren | |||||
Aantal verschillende waarden | |||||
Buren wisselen van plaats | |||||
Maximum van de lijst | |||||
Wissel minimum en maximum van plaats | |||||
Aantal paren in lijst | |||||
Unieke waarden | |||||
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.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
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.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
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.
Titel | Voortgang groep | Status | |||
---|---|---|---|---|---|
Aantal verschijningen | |||||
Tegengestelden | |||||
Verkiezingen | |||||
Vaakst voorkomend woord | |||||
Toegangsrechten | |||||
Landen en steden | |||||
Tekstanalyse | |||||
Woordenboek Ned-Latijn |