我想出了如何在 python 中使用 kivy 制作计算器的所有方法,但我无法找到为什么我的加号到减号转换器确实有效,但正因为如此,我无法拒绝在没有符号的情况下输入一个又一个符号在中间输入任意数字
例如:
def equals(self):
global answer, int_answer
try :
prior = self.ids.top_bar.text
if u"\u00D7" in prior:
num_list = prior.split(u"\u00D7")
x = "*"
num_list2 = x.join(num_list)
answer = eval(num_list2)
self.ids.top_bar.text = str(answer)
elif u"\u00F7" in prior:
num_list = prior.split(u"\u00F7")
x = "/"
num_list2 = x.join(num_list)
answer = eval(num_list2)
for num in num_list:
if num.isdigit():
int_answer = int(answer)
self.ids.top_bar.text = str(int_answer)
elif not num.isdigit():
float_answer = float(answer)
self.ids.top_bar.text = str(float_answer)
else:
answer = eval(prior)
self.ids.top_bar.text = str(answer)
except ValueError:
print("error")
except ZeroDivisionError:
self.ids.top_bar.text = "Can't divide by zero"
if self.ids.top_bar.text == "Can't divide by zero":
self.ids.top_bar.font_size = 30
except SyntaxError:
print("error")