逆波兰表达式python
时间: 2024-09-10 20:27:26 浏览: 48
逆波兰表达式,也称为后缀表达式,是一种数学运算符表示法,在这种表示法中,操作数位于操作符之前。例如,对于传统的加法表达式 "3 + 4",在逆波兰表示法中会写作 "3 4 +"。
Python 中处理逆波兰表达式通常通过栈(stack)数据结构来实现。你可以编写一个简单的函数,遍历输入的逆波兰表达式的字符串形式,每当遇到操作数就压入栈,遇到操作符则从栈中弹出两个操作数执行相应的运算,并将结果压回栈中。最后,栈中剩下的元素即为计算的结果。
以下是一个简单的例子:
```python
def evaluate_postfix(expression):
stack = []
operators = set(['+', '-', '*', '/'])
for token in expression.split():
if token in operators:
# 弹出栈顶的两个操作数并执行运算
b = stack.pop()
a = stack.pop()
result = eval(f"{a} {token} {b}")
stack.append(result)
else:
# 如果是操作数,直接压入栈
stack.append(int(token))
return stack[0]
# 示例
expression = "2 3 + 4 *"
result = evaluate_postfix(expression)
print(f"逆波兰表达式的计算结果为: {result}")
阅读全文