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 发布
这段代码展示了如何使用Python处理中缀表达式,包括加减乘除、对数(log)、指数(exp)和幂次(pow)。通过堆栈操作进行运算符优先级判断,实现括号内的正确计算。代码读取input.txt文件中的表达式,处理后写入output.txt文件。
摘要由CSDN通过智能技术生成