From 063ad4f53341297a8fee8efeae2a11f3629166da Mon Sep 17 00:00:00 2001 From: hubobel Date: Wed, 7 Jun 2017 18:22:59 +0200 Subject: [PATCH] =?UTF-8?q?l=C3=A4uft=20in=20Schleife=20und=20pusht=20SV?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test.py | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Test.py diff --git a/Test.py b/Test.py new file mode 100644 index 0000000..da8ad1a --- /dev/null +++ b/Test.py @@ -0,0 +1,107 @@ +class VerwalteterGeldbetrag: + def __int__(self, kontostand): + self.Betrag = kontostand + + def einzahlenMoeglich(self, betrag): + return True + + def auszahlenMoeglich(self, betrag): + return True + + def einzahlen(self, betrag): + if betrag < 0 or not self.einzahlenMoeglich(betrag): + return False + else: + self.Betrag += betrag + return True + + def auszahlen(self, betrag): + if betrag < 0 or not self.auszahlenMoeglich(betrag): + return False + else: + self.Betrag -= betrag + return True + + def zeige(self): + print("Betrag: {}".format(self.Betrag)) + + +class AllgemeinesKonto(VerwalteterGeldbetrag): + def __init__(self, kundendaten, kontostand): + super().__init__(kontostand) + self.Kundendaten = kundendaten + + def geldtransfer(self, ziel, betrag): + if self.auszahlenMoeglich(betrag) and ziel.einzahlenMoeglich(betrag): + self.auszahlen(betrag) + ziel.einzahlen(betrag) + return True + else: + return False + + def zeige(self): + self.Kundendaten.zeige() + VerwalteterGeldbetrag.zeige(self) + + +class AllgemeinesKontoMitTagesumsatz(AllgemeinesKonto): + def __init__(self, kundendaten, kontostand, max_tagesumsatz=1500): + super().__init__(kundendaten, kontostand) + self.MaxTagesumsatz = max_tagesumsatz + self.UmsatzHeute = 0.0 + + def transferMoeglich(self, betrag): + return (self.UmsatzHeute + betrag <= self.MaxTagesumsatz) + + def auszahlenMoeglich(self, betrag): + return self.transferMoeglich(betrag) + + def einzahlenMoeglich(self, betrag): + return self.transferMoeglich(betrag) + + def einzahlen(self, betrag): + if AllgemeinesKonto.einzahlen(self, betrag): + self.UmsatzHeute += betrag + return True + else: + return False + + def auszahlen(self, betrag): + if AllgemeinesKonto.auszahlen(self, betrag): + self.UmsatzHeute += betrag + return True + else: + return False + + def zeige(self): + AllgemeinesKonto.zeige(self) + print("Heute schon {} von {} Euro umgesetzt".format(self.UmsatzHeute, self.MaxTagesumsatz)) + + +class GirokontoKundendaten: + def __init__(self, inhaber, kontonummer): + self.Inhaber = inhaber + self.Kontonummer = kontonummer + + def zeige(self): + print("Inhaber:", self.Inhaber) + print("Kontonummer:", self.Kontonummer) + + +class GirokontoMitTagesumsatz(AllgemeinesKontoMitTagesumsatz): + def __init__(self, inhaber, kontonummer, kontostand, max_tagesumsatz=1500): + kundendaten = GirokontoKundendaten(inhaber, kontonummer) + super().__init__(kundendaten, kontostand, max_tagesumsatz) + + +k1 = AllgemeinesKontoMitTagesumsatz("Heinz", 12345, 1001.99) +k2 = GirokontoMitTagesumsatz("Lisa", 67891, 2001.99) + +# k1.einzahlen(200) + + +# k1.zeige() + +# k2.geldtransfer(k1,200) +# k1.zeige() +# k2.zeige()