Een kortingkaart wordt gekenmerkt door de naam van de klant (string), en het totaal bedrag dat de klant besteed heeft (float). Per groep van $$N$$ aankopen, kan de klant een korting krijgen. Zodra dus dit aantal aankopen bereikt is, kan de klant korting vragen. Zodra deze korting aangevraagd wordt, verdwijnt de groep van $$N$$ aankopen van zijn kaart. Indien op het moment van aanvraag het aantal aankopen $$ \ge mN$$ is met $$m$$ geheel, dan kan de klant voor deze $$m$$ groepen van $$N$$ aankopen een korting uitbetaald krijgen. De $$mN$$ aankopen verdwijnen dan van de kaart. Programmeer in de klasse Kortingkaart het volgende:

Voorbeeld

Kortingkaart.reset_totale_korting()
jan1 = Kortingkaart('Jan', 3, 0.05)
print(jan1)			-> [Jan:N=3:P=0.050000:S=0.000000:A=0]
jan1 += 40.0
jan1 += 20.0
jan1 += 70.0
jan1 += 10.0
print(jan1)			-> [Jan:N=3:P=0.050000:S=140.000000:A=4]
print(jan1.vraag_korting()) -> 6.5
print(jan1)			-> [Jan:N=3:P=0.050000:S=10.000000:A=1]
jan2 = Kortingkaart('Jan', 4, 0.1)	
jan2 += 10.0
jan2 += 100.0
jan2 += 50.0
jan2 += 25.0
jan3 = jan1 + jan2
print(jan3)			-> [Jan:N=4:P=0.050000:S=195.000000:A=5]
print(jan1)			-> [Jan:N=3:P=0.050000:S=0.000000:A=0]
print(jan2)			-> [Jan:N=4:P=0.100000:S=0.000000:A=0]
print(jan3.vraag_korting())	-> 8.5
print(Kortingkaart.get_totale_korting())	-> 15.0