一一

Blog of Yeyiyi
前天看到了小兔,昨天是小鹿,今天是你
  1. 首页
  2. 未分类
  3. 正文

逆波兰表达式计算

2023年9月1日 170点热度 0人点赞 0条评论

栈的应用

逆波兰表达式

stack=[]                       
s=input("请输入逆波兰表达式:")+" "
x=0
minus=False
for i in range(len(s)-1):
    ch=s[i]
    if ch>="0" and ch<="9": #处理2位数及以上
        x=x*10+int(ch)
    elif ch=="-" and s[i+1]!=" ":
        minus=True 
    elif ch==" ":
        if minus:
            stack.append(0-x)
        else:
            stack.append(x)
        print(stack)
        minus=False
        x=0
    else:
        if minus:
            x=0-x
        minus=False
        num1=stack.pop()
        num2=stack.pop()
        if ch=="+":
            x=num2+num1
        if ch=="-":
            x=num2-num1
        if ch=="*":
            x=num2*num1
        if ch=="÷":
            x=num2 / num1
print("后缀表达式计算结果为%d"%(x))
标签: 暂无
最后更新:2023年9月1日

yly

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

归档

  • 2024 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月

分类

  • 未分类

COPYRIGHT © 2023 一一. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang