开发一个简单的python计算器
1、实现加减乘除及拓号优先级解析
2、用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-25/3 + 7 /399/42998 +10 * 568/14 )) - (-43)/ (16-32) )等类似公式后,必须自己解析里面的(),+,-,,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致
如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:688244617
1 #!usr/bin/evn python
2 #coding:cp936
3 #Author:Siwen
4
5
6 print ("Hello world!")
7
8
9 import re
10
11 def handle_special_occactions(plus_minus,multiply_and_dividend):
12 #有时会出现这种情况 , ['-', '-'] ['1 ', ' 2 * ', '14969036.7968254'],2*...后面这段实际是 2*-14969036.7968254,需要特别处理下,太恶心了'''
13 for index,i in enumerate(multiply_and_dividend):
14 i = i.strip()
15 if i.endswith("*") or i.endswith("/"):
16 multiply_and_dividend[index] = multiply_and_dividend[index] + plus_minus[index] + multiply_and_dividend[index+1]
17 del multiply_and_dividend[index+1]
18 del plus_minus[index]
19 return plus_minus,multiply_and_dividend
20
21 def remove_jia(formula):
22 formula =