-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalc.py
More file actions
104 lines (78 loc) · 2.72 KB
/
calc.py
File metadata and controls
104 lines (78 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
from kivy.app import App
from kivymd.theming import ThemeManager
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.core.window import Window
Builder.load_file('calc.kv')
Window.size = (500, 700)
class MyLayout(Widget):
def clear(self):
self.ids.calc_input.text = "0"
def number_clicked(self, button):
#create a variable that contains whatever was in the textbox already
prior = self.ids.calc_input.text
#determine if zero is in prior
if prior == '0':
self.ids.calc_input.text = ''
self.ids.calc_input.text = f'{button}'
else:
self.ids.calc_input.text = f'{prior}{button}'
def math_sign(self, sign):
prior = self.ids.calc_input.text
self.ids.calc_input.text = f'{prior}{sign}'
def equals(self):
prior = self.ids.calc_input.text
#addition
if "+" in prior:
num_list = prior.split("+")
answer = 0.0
# loop through list:
for number in num_list:
answer = answer + float(number)
print(answer)
self.ids.calc_input.text = str(answer)
if "-" in prior:
num_list = prior.split("-")
answer = 0.0
# loop through list:
for number in num_list:
answer = answer - float(number)
print(answer)
self.ids.calc_input.text = str(answer)
if "*" in prior:
num_list = prior.split("*")
answer = 1
# loop through list:
for number in num_list:
answer = answer * float(number)
print(answer)
self.ids.calc_input.text = str(answer)
if "/" in prior:
num_list = prior.split("/")
answer = 0
# loop through list:
for number in num_list:
answer = answer / float(number)
print(answer)
self.ids.calc_input.text = str(answer)
def dot(self):
prior = self.ids.calc_input.text
if "." in prior:
pass
else:
prior = f'{prior}.'
self.ids.calc_input.text = prior
def remove(self):
prior = self.ids.calc_input.text
prior = prior[:-1]
self.ids.calc_input.text = prior
def pos_neg(self):
prior = self.ids.calc_input.text
if "-" in prior:
self.ids.calc_input.text = f'{prior.replace("-", "")}'
else:
self.ids.calc_input.text = f'-{prior}'
class Calculator(App):
def build(self):
return MyLayout()
Calculator().run()