day1 python学习 堆栈实现四则运算
代码如下(示例):
# 用栈实现四则运算
s = input()
op = []
num = []
prec = {'(':1,'+':2,'-':2,'*':3,'/':3}
for i in s:
if i == '(':
op.append(i)
elif i == ')':
while op[-1]!='(':
t2 = num.pop()
t1 = num.pop()
num.append(str(eval(t1+op.pop()+t2)))
op.pop()
elif i.isdigit():
num.append(i)
else:
while len(op)!=0 and prec[i]<=prec[op[-1]]:
t2 = num.pop()
t1 = num.pop()
num.append(str(eval(t1+op.pop()+t2)))
op.append(i)
while len(op)>0:
t2 = num.pop()
t1 = num.pop()
num.append(str(eval(t1+op.pop()+t2)))
print(num[0])