Python-ZZY 2021-10-06 11:04 采纳率: 48.1%
浏览 35
已结题

Python计算错误的类型有哪些?

我正在用Python tkinter开发计算器程序,我需要对用户计算的输入进行异常处理:
例如用户按了2/0导致 ZeroDivisionError,
乱按了一通导致 SyntaxError,
我还想知道还可能引发什么错误。

我的界面是这样的,里面涉及到了四则运算,乘方开根号,整除求余数,与或等,如下所示

allkeysstr=
{"+":(("+","加"),9,3),"-":(("-","减"),8,3),"×":(("*","乘"),7,3),
 "÷":(("/","除以"),6,3),"^":(("**","幂"),3,0),
 "sqrt":(("math.sqrt(","平方根","sqrt("),3,1),
 "fac":(("math.factorial(","阶乘","fac("),3,2),
 "/":(("//","除以(取整)"),10,0),"≡":(("%","除以(求余)"),10,1),
 "&":(("&","按位与"),2,0),"|":(("|","按位或"),2,1),
 "⊕":(("^","按位异或"),2,2),"~":(("~","按位取反"),2,3),
 "Ans":(("ans","表示上一次运算的结果","A"),5,3),"X":(("x",str(x)),5,0),
 "Y":(("y",str(y)),5,1),"Z":(("z",str(z)),5,2),
 "π":((str(math.pi),"圆周率"),4,0),
 "τ":((str(math.tau),"2π=τ"),4,1),
 "e":((str(math.e),"自然常数"),4,2),
 "Ran":(("random.random()","表示0-1之间的随机数","R"),9,0),
 "∞":(("math.inf","无穷大"),4,3),".":((".","小数点"),9,2),
 "abs":(("abs(","绝对值","abs("),3,3),"0":(("0",None),9,1)
 ,"1":(("1",None),8,0),"2":(("2",None),8,1)
 ,"3":(("3",None),8,2),"4":(("4",None),7,0)
 ,"5":(("5",None),7,1),"6":(("6",None),7,2)
 ,"7":(("7",None),6,0),"8":(("8",None),6,1)
 ,"9":(("9",None),6,2),"(":(("(","左括弧"),10,2),")":((")","右括弧"),10,3)}

上面的一些数据不用注意,这是按钮大致意思

img

  • 写回答

1条回答 默认 最新

  • Soda Wang 2021-10-06 13:34
    关注

    你这个计算器怎么计算,直接eval

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月22日
  • 修改了问题 10月6日
  • 修改了问题 10月6日
  • 创建了问题 10月6日