python 四则运算匹配

本文介绍了一种使用Python实现四则运算的方法,通过维护两个栈,一个用于存储数据,另一个用于存储运算符。根据运算符优先级,当遇到括号时进行计算,最终得到结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面完华为后满血复活的小黄鸭上线啦!

思想:

1、定义2个栈,一个压入数据,一个压入运算符

2、定义优先级别:

    priority={'(':1,'+':3,'-':3,'*':5,'/':5}

3、如果str[i]是数字,继续查看str[i+1]

        if str[i].isdigit():
            # print('1')
            start=i
            while i+1<len(str) and str[i+1].isdigit():
                i+=1
            date.append(int(str[start:i+1]))

4、如果元算符栈为空,或者str[i]=='(':

直接把元算符压入栈

5、如果str[i]==')'时:

就要把括号里表达式进行计算

运算符栈出栈一个运算符

数据栈出栈两个数据,把计算的结果再放入数据栈

6、如果st[i] in '+-*/':

运算符栈[-1]的优先级>str[i]的优先级,先进行计算

否则str[i]进栈

7、最后的结果:数据栈只剩一个元素,就是这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值