Om de permanentie aan een onthaalbalie te beheren, bouwen we de klasse Permanentie
.
Een object van deze klasse houdt bij wie op elk moment van de dag aan de balie dienst doet. Hierbij wordt per
object de datum bijgehouden, en een reeks tijdslots gekenmerkt door een natuurlijk getal. Per slot houden we bij
wie de permanentie zal waarnemen. Indien nog niemand opgegeven werd voor een slot, noteren we in dit slot de tekst
'?'
.
Permanentie
het volgende:
__str__()
-methode die als gedaante oplevert : $$\verb![dag/maand/jaar,bezette_slots:aantal_slots]!$$, alle
grootheden zijn hierin geheel, en de string bevat geen spaties
str
) : deze persoon wenst zich voor een aantal slots op te geven slots()
met als argument een string die een persoonsnaam voorstelt : deze methode levert als resultaat een lijst
van slots waarvoor de persoon in kwestie verantwoordelijk is. Deze lijst is van klein naar groot gesorteerd. permanentie()
met als argument een geheel getal, namelijk een slotnummer. Deze methode levert de persoon (dus type str
) die
voor dit welbepaalde slot verantwoordelijk is. Is nog geen persoon voor dit slot geregistreerd, of gaat het om een onbestaand slotnummer, dan is
het resultaat '?'
. p = Permanentie(14, 11, 2017, 5) print(p) # [14/11/2017,0:5] p += ('An', [3, 1]) print(p) # [14/11/2017,2:5] p += ('Peter', [1, 4, 8]) print(p) # [14/11/2017,3:5] print(p.slots('An')) # [1, 3] print(p.slots('Peter')) # [4] print(p.permanentie(1)) # An print(p.permanentie(2)) # ?