Definieer een klasse Cursus waarmee cursussen kunnen voorgesteld worden. Bij het aanmaken van een cursus (Cursus) moeten twee argumenten doorgeven worden: i) het uniek volgnummer (int) van de cursus en ii) de naam (str) van de cursus.

Definieer een klasse Student waarmee studenten kunnen voorgesteld worden. Bij het aanmaken van een student (Student) moeten vier argumenten doorgeven worden: i) het uniek volgnummer(int) van de student, ii) de voornaam (str) van de student, iii) de familienaam (str) van de student en iv) de geboortedatum (datetime.date) van de student. Studenten (Student) moeten minstens de volgende methoden ondersteunen:

Als een cursus (Cursus) of een student (Student) doorgegeven wordt aan de ingebouwde functies repr of str, dan moet een stringvoorstelling (str) van de cursus of de student teruggegeven die opgemaakt is zoals aangegeven in onderstaand voorbeeld.

Voorbeeld

>>> astronomy = Cursus(238273, 'Astronomy')
>>> astronomy
Cursus(238273, 'Astronomy')
>>> print(astronomy)
Cursus(238273, 'Astronomy')

>>> import datetime
>>> harry = Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> harry
Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> print(harry)
Potter, Harry
>>> harry.leeftijd()
39
>>> harry.cursussen()
set()
>>> harry.inschrijven(charms)
Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> harry.cursussen()
{Cursus(983448, 'Charms')}
>>> harry.inschrijven(charms).inschrijven(dark_arts).inschrijven(defence_against_dark_arts).cursussen()
{Cursus(746473, 'Dark Arts'), Cursus(983448, 'Charms'), Cursus(462763, 'Defence Against Dark Arts')}