In deze oefening programmeren we de klasse Modulo
om op een gemakkelijke manier
modulo-rekening mogelijk te maken. Per object van de klasse stockeren we een waarde, maar ook
een grondtal n
, die bij het nemen van de modulo gebruikt wordt.
Programmeer het onderstaande:
__str__()
levert de gedaante [waarde spatie %-teken spatie grondtal]
__repr__()
levert een geschikte representatie van het object
Modulo
met
als waarde het opgegeven argument, en als grondtal het grondtal van het self
-object.
+
, -
en *
worden gerealiseerd, waarbij telkens de modulo genomen wordt en je telkens het grondtal van het linkeroperand gebruikt.
Implementeer ook ==
en !=
, waarbij geldt dat twee Modulo
-objecten gelijk zijn als hun waarde en grondtal beiden gelijk zijn.
m5 = Modulo(5) print('%s + %s = %s' %(m5(8), m5(2), m5(8) + m5(2))) # [3 % 5] + [2 % 5] = [0 % 5] print('%s - %s = %s' %(m5(8), m5(4), m5(8) - m5(4))) # [3 % 5] - [4 % 5] = [4 % 5]