Een bedrijf houdt de aankopen van klanten bij via volgende gegevens:
float
s)
Klant
Programmeer onderstaande methoden:
string
)
+=
met rechteroperand een float: registreert een aankoop voor de opgegeven aankoopsom
get_totaal()
(zonder argumenten): berekent de totaal te betalen som voor deze klant.
Deze klasse erft over van de klasse Klant
, en brengt een kortingspercentage in rekening bij het berekenen
van het totaal te betalen bedrag. Programmeer onderstaande methoden:
float
, genoteerd als getal tussen 0.0
en 1.0
). Indien
niet opgegeven, wordt een default korting van 0.1 toegepast.
get_totaal()
die op de gepaste manier een kortingspercentage in rekening brengt.
Ook deze klasse erft over van de klasse Klant
, en berekent op een andere manier het totaal te betalen bedrag:
nu wordt de goedkoopste aankoop gratis gegeven. Programmeer onderstaande methoden:
get_totaal()
die de aankoop met het laagste bedrag niet in rekening brengt.
De kassa houdt alle klanten bij (met hun aankopen), en laat toe om het totaal ontvangen bedrag te berekenen.
Zorg dat een object van deze klasse een reeks Klant
en kan bijhouden, en voorzie volgende methoden:
registreer_klant()
: voegt de klant die als argument meegegeven wordt, toe aan de kassa
get_kassa_inhoud()
: berekent de inhoud van de kassa, op basis van de totaalbedragen betaald door elke Klant
aankopen = [100.0, 150.0, 30.0, 27.0] jan = Klant('Jan') paul = GrootHandelaar('Paul') annemie = DetailKlant('Annemie') for d in aankopen: jan += d paul += d annemie += d print(jan.get_totaal()) -> 307.0 print(paul.get_totaal()) -> 276.3 print(annemie.get_totaal()) -> 280.0 kassa = Kassa() kassa.registreer_klant(annemie) kassa.registreer_klant(jan) kassa.registreer_klant(paul) print(kassa.get_kassa_inhoud()) -> 863.3