python - 除以零错误输入到Tkinter消息中供计算器使用

标签 python python-3.x tkinter error-handling calculator

我用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 程序中,而不显示为“无效语法!”。

最佳答案

ZeroDivisionError添加到您的异常(exception)列表中:

except (SyntaxError, NameError, ZeroDivisionError):

关于python - 除以零错误输入到Tkinter消息中供计算器使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634152/

相关文章:

python - 在python中删除大量文件

python-3.x - 在 Windows 中安装 Python 3.8 和 dbt 后无法获取 ~/.dbt/folder 或 profiles.yml 文件

python - 向用户询问优先级列表,然后根据该列表对列表进行排序

python - 如何获取第一个大写字母,然后在 Python 中获取每个大写字母后面没有的另一个大写字母?

mysql - 为什么格式说明符被插入到数据库中?怎么解决这个问题?

python - ggplot 在一个对象中绘制多个图

python - 找到两个 DNA 字符串之间的汉明距离

python - 使用 Object Tkinter move 线

python - 将 Tkinter py 文件转换为 EXE 文件

python - 有人可以对 scikit learn 中的参数 var_smoothing 对 GaussianNB 的作用给出一个很好的数学/统计解释吗?