除以零错误输入到计算器的 Tkinter 消息中
Posted
技术标签:
【中文标题】除以零错误输入到计算器的 Tkinter 消息中【英文标题】:Divide by zero error input into Tkinter message for a calculator 【发布时间】:2018-07-15 23:49:43 【问题描述】:我在 python 中构建了一个计算器,它可以工作,但如果有人试图将一个数字除以零,他们不会收到“无效语法!”计算器输入错误。我怎么能做到这样的消息“无效的语法!”在计算器输入中显示?
def equals(self):
self.getandreplace()
try:
self.value= eval(self.newtext)
except SyntaxError or NameError:
self.e.delete(0,END)
self.e.insert(0,'Invalid Syntax!')
else:
self.e.delete(0,END)
self.e.insert(0,self.value)
我尝试输入except NameError or SyntaxError or ZeroDivisionError
,但它不起作用。该错误仅出现在 shell 中,而不是“无效语法!”。
【问题讨论】:
SyntaxError or NameError
必须是 (SyntaxError, NameError)
。
@DYZ 没有它也可以工作
不,它没有。尝试输入“a+1”。
@DYZ 哦,我刚试过。
请提供minimal reproducible example,您不能每次遇到问题时都在这里转储代码。
【参考方案1】:
将ZeroDivisionError
添加到您的例外列表中:
except (SyntaxError, NameError, ZeroDivisionError):
【讨论】:
谢谢!我以为你可以做 ' 除了 SyntaxError 或 NameError 或 ZeroDivisionError '以上是关于除以零错误输入到计算器的 Tkinter 消息中的主要内容,如果未能解决你的问题,请参考以下文章