Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from kivy.app import App
- from kivy.uix.boxlayout import BoxLayout
- class Container(BoxLayout):
- def update_label(self):
- self.formula = self.formula
- self.lbl.text = self.formula
- def add_number(self, instance):
- if self.res == 10:
- self.res = 0
- self.formula = ""
- if self.formula == "0":
- self.formula = ""
- self.formula += str(instance)
- for i in self.formula:
- if i in "1234567890.":
- self.num += i
- if i in "-+*/":
- self.fin += f"{float(self.num):,}".replace(",", " ")
- self.num = ""
- self.fin += i
- self.formula = self.fin + f"{float(self.num):,}".replace(",", " ")
- self.num = ""
- self.fin = ""
- self.formula = self.formula.replace(".0", "")
- self.update_label()
- def add_operation(self, instance):
- check = str(instance).lower()
- if self.res == 10:
- self.res = 0
- pass
- if self.formula == "0":
- self.formula = ""
- if (str(instance).lower() == "."):
- self.formula += "0"
- else:
- if (check == "-"):
- self.formula += str(instance)
- self.update_label()
- return
- if (check == "+") or (check == "*") or (check == "/"):
- self.lbl.text = '0'
- self.formula = "0"
- return self.formula
- # if (check == "×"):
- # self.formula += "*"
- if (self.formula[-1] == "+") or (self.formula[-1] == "*") or (self.formula[-1] == "/") \
- or (self.formula[-1] == "-"):
- if (self.formula[0] == "-"):
- return
- self.formula = self.formula[:-1]
- self.formula += str(instance)
- self.update_label()
- return
- else:
- self.formula += str(instance)
- self.update_label()
- def calculate(self):
- try:
- self.lbl.text = str(eval(self.lbl.text.replace(" ", "")))
- self.formula = "{0:,.2f}".format(float(self.lbl.text)).replace(",", " ")
- self.update_label()
- self.res = 10
- except:
- self.lbl.text = '0'
- self.formula = "0"
- def backspace(self):
- if self.res == 10:
- self.res = 0
- self.lbl.text = '0'
- self.formula = "0"
- self.update_label()
- return
- self.formula = self.formula[:-1]
- self.lbl.text = self.formula
- if self.formula == "":
- self.lbl.text = '0'
- self.formula = "0"
- class CalculatorApp(App):
- def build(self):
- return Container()
- if __name__ == "__main__":
- CalculatorApp().run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement