# -*- coding: utf8 -*- class Bruch(object): def __init__(self, z, n): self.zaehler = z self.nenner = n def erweitern(self, k): self.zaehler = self.zaehler * k self.nenner = self.nenner * k def kuerzen(self, k): if (self.zaehler % k == 0) and (self.nenner % k == 0): self.zaehler = self.zaehler // k self.nenner = self.nenner // k def vollstaendigKuerzen(self): # ggT von Zähler und Nenner bestimmen x = self.zaehler y = self.nenner while y > 0: h = x % y x = y y = h ggt = x # kürzen self.kuerzen(ggt) def add(self, b): x1 = self.zaehler x2 = self.nenner y1 = b.zaehler y2 = b.nenner z1 = x1*y2 + x2*y1 z2 = x2*y2 self.zaehler = z1 self.nenner = z2 self.vollstaendigKuerzen() def darstellen(self): bruchAlsZeichenkette = str(self.zaehler) + '/' + str(self.nenner) return bruchAlsZeichenkette