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]