Drop links or images here to add them to the editor.

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