Python-ZZY 2021-10-06 11:04 采纳率: 50%
浏览 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日

悬赏问题

  • ¥15 vue2项目里接口请求报错,把接口放到浏览器里面正常
  • ¥15 Qt安装后运行不了,这是我电脑的问题吗
  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上