import os,sys,decimal,math def stack_sum_pop(sign,sum): t2,t3=0,0 t1=sign.pop() sum_a=0.00 decimal.getcontext().prec=2 if t1=='+': t2 = sum.pop() t3 = sum.pop() sum_a+=t2+t3 if t1=='-': t2 = sum.pop() t3 = sum.pop() sum_a+=t3-t2 if t1=='*': t2 = sum.pop() t3 = sum.pop() sum_a+=t2*t3 if t1=='/': t2 = sum.pop() t3 = sum.pop() sum_a=t3/t2 if t1=='l': t2 = sum.pop() sum_a=math.log(t2,10) if t1=='e': t2 = sum.pop() sum_a=math.exp(t2) if t1=='p': t2 = sum.pop() t3 = sum.pop() sum_a=pow(t3,t2) if t1=='(' : sum_a=sum.pop() return sum_a#出栈计算 def prio(s,sign):#优先级判断 a1,a2=0,0 if s=='+' or s=='-' : a1=2
python实现中缀表达式计算,实现指数和对数
最新推荐文章于 2023-03-20 14:44:18 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)