We bouwen een klasse SequentieIdentiek
. Elk object van deze klasse houdt
een reeks waarden bij, waarbij de volgorde van belang is. Bijkomende voorwaarde is dat elke
waarde hoogstens n
keer mag voorkomen.
Programmeer in de klasse SequentieIdentiek
het volgende:
n
(geheel en strikt positief) __str__()
levert een string-gedaante van de vorm $$\verb![n,lijst]!$$. Hierbij wordt dus
de waarde van n
weergegeven en de standaardgedaante van de lijst waarden opgeslagen in het
object, gescheiden door een komma en het geheel tussen vierkante haakjes teruggegeven.SequentieIdentiek
)
levert als resultaat "True" indien de $$n$$-waarden van $$a$$ en $$b$$ gelijk zijn, alsook de lijsten
van waarden die ze beiden bevatten. De opdracht levert "False" in alle andere gevallen.__repr__()
s(i)
levert van de SequentieIdentiek
s
het
element op positie i
van dit object. Je mag aannemen dat het argument een geldige index voorstelt.SequentieIdentiek
), levert
een nieuw object van de klasse SequentieIdentiek
, met:
SequentieIdentiek
), levert
een nieuw object van de klasse SequentieIdentiek
, met:
s = SequentieIdentiek(3, [1, 2, 2, 3, 3, 3]*3 + [4]) print(s) # [3,[1, 2, 2, 3, 3, 3, 1, 2, 1, 4]] print(s(4)) # 3 t = eval(repr(s)) print(t) # [3,[1, 2, 2, 3, 3, 3, 1, 2, 1, 4]] print(s == t) # True a = SequentieIdentiek(2, [1, 2, 3]) b = SequentieIdentiek(2, [1, 2, 3, 4, 5]) c = a + b print(c) # [2,[1, 2, 3, 1, 2, 3, 4, 5]] c = c + b print(c) # [2,[1, 2, 3, 1, 2, 3, 4, 5, 4, 5]] d = c - a print(d) # [2,[1, 2, 3, 4, 5, 4, 5]] v = SequentieIdentiek(2, [1, 2, 3, 4, 5, 6]) e = d - v print(e) # [2,[4, 5]]