Du bindest auch deutlich zu viele belanglose Zwischenergebnisse an Namen. Nehmen wir mal `berechne2()`. Da wird `a` an den Inhalt von `outputLabel5` in eine Zahl gewandelt gebunden, dann `d` wieder an eine Zeichenkettendarstellung dieser Zahl, um die dann wieder in dem Label anzuzeigen. Da wird also die Zahl angezeigt die da sowieso schon angezeigt wurde. Warum? Wenn man das und die ganzen Zwischenergebnisse weglässt:
Code: Alles auswählen
def berechne2(self):
a = int(self.root.ids.outputLabel5.text)
b = int(self.root.ids.outputLabel1.text)
c = b-a
c = str(c)
d = str(a)
f = int(self.root.ids.outputLabel2.text)
g = f+a
h = str(g)
self.root.ids.outputLabel1.text = c
self.root.ids.outputLabel5.text = d
self.root.ids.outputLabel2.text = h
# =>
def berechne2(self):
a = int(self.root.ids.outputLabel5.text)
self.root.ids.outputLabel1.text = str(
int(self.root.ids.outputLabel1.text) - a
)
self.root.ids.outputLabel2.text = str(
int(self.root.ids.outputLabel2.text) + a
)
Funktions- und Methodennamen beschreiben üblicherweise die Tätigkeit die sie durchführen. Auch damit sie einfacher von eher passiven Werten unterscheiden kann. `average` wäre ein guter Name für einen Durchschnitts*wert*, aber nicht für eine Methode die den berechnet.