简单的python计算器

(1)作业需求:

开发一个简单的python计算器

  • 实现加减乘除及拓号优先级解析
  • 用户输入 1 2 * ( (60-30 +(-40/5) * (9-25/3 + 7 /399/42998 +10 * 568/14 )) (-43)/ (16-32) )等类似公式后,必须自己解析里面的(),+,-,,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致

(2)本次作业实现的需求:

  • 实现加减乘除及拓号优先级解析
  • 用户输入 1 2 * ( (60-30 +(-40/5) * (9-25/3 + 7 /399/42998 +10 * 568/14 )) (-43)/ (16-32) )等类似公式后,必须自己解析里面的(),+,-,,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致

(3)本次作业流程图:

计算流程图

(4)本次作业问题:


  1. 在使用re函数时候,内部有个替换函数,re.search()函数在替换过程中括号会被保留。

  2. replace()可以完成替换,括号也可以被替换。

  3. re.search(r'([^()]+)',s).group() 在没哟括号情况下会报错,所以使用re.search(r'([^()]+)',s)判断来判断是否有括号,有就执行group()提取,没有直接执行运算。

posted on 2017-02-11 11:13  无上莫名  阅读(326)  评论(0编辑  收藏  举报

导航