python逆波兰序表达式计算
时间: 2023-11-16 14:00:10 浏览: 78
Python可以通过栈来实现逆波兰表达式的计算。具体步骤如下:
1. 创建一个空栈。
2. 从左到右遍历逆波兰表达式中的每个元素。
3. 如果当前元素是数字,则将其压入栈中。
4. 如果当前元素是运算符,则从栈中弹出两个数字进行计算,并将计算结果压入栈中。
5. 遍历完整个表达式后,栈中只剩下一个元素,即为表达式的计算结果。
下面是Python代码实现:
```
def evalRPN(tokens):
stack = []
for token in tokens:
if token in ["+", "-", "*", "/"]:
num2 = stack.pop()
num1 = stack.pop()
if token == "+":
stack.append(num1 + num2)
elif token == "-":
stack.append(num1 - num2)
elif token == "*":
stack.append(num1 * num2)
else:
stack.append(int(num1 / num2))
else:
stack.append(int(token))
return stack.pop()
```
其中,tokens是逆波兰表达式中的元素列表。
阅读全文