We bouwen een klasse Verlanglijstje
. Elk object van deze klasse houdt
een reeks items bij, en per item het aantal dat ervan gewenst wordt.
Programmeer in de klasse Verlanglijstje
het volgende:
Verlanglijstje
staat, verwacht
in het rechterlid een tuple. Dit tuple bestaat uit 2 componenten, namelijk een string (type str
) die de
naam van het gewenste item voorstelt, en een getal (type int
) geheel en strikt groter
dan 0. Dit geheel getal geeft het aantal aan dat gewenst wordt. De operator vertoont het volgende gedrag:
__str__()
levert een string-gedaante van de vorm $$\verb![naam,aantal]!$$,
zonder spaties. Hierbij wordt dus de naam van het verlanglijstje, samen met de hoeveelheid items, gescheiden door
een komma en tussen vierkante haakjes teruggegeven. De hoeveelheid items betreft dus het aantal verschillende
zaken dat gewenst wordt (b.v. 20 knikkers tellen voor 1 item)aantal()
levert een geheel getal, namelijk het totaal aantal gewenste zaken (indien bij
voorbeeld 10 blokken en 15 auto's gewenst worden, is het resultaat 25).r(naam)
, met naam
een string, levert de gewenste hoeveelheid van het item met
deze naam
. Komt het item niet voor in het verlanglijstje, dan is het resultaat '?'
.v = Verlanglijstje('Sint 2018') print(v) #[Sint 2018,0] v += ('trein', 2) v += ('step', 1) v += ('blokken', 20) print(v) #[Sint 2018,3] print(v('blokken')) #20 print(v('pop')) #? print(v.aantal()) #23 v += ('blokken', 10) v -= ('step', 2) v -= ('trein', 1) print(v) #[Sint 2018,2] print(v('step')) #? print(v('trein')) #1 print(v.aantal()) #31