简单的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)本次作业问题:
-
在使用re函数时候,内部有个替换函数,re.search()函数在替换过程中括号会被保留。
-
replace()可以完成替换,括号也可以被替换。
- re.search(r'([^()]+)',s).group() 在没哟括号情况下会报错,所以使用re.search(r'([^()]+)',s)判断来判断是否有括号,有就执行group()提取,没有直接执行运算。