栈的简单表达式求值代码
时间: 2023-08-28 10:04:45 浏览: 42
以下是一个简单的栈表达式求值代码实现:
```
def evaluate_expression(expression):
stack = []
for char in expression:
if char.isdigit():
stack.append(int(char))
else:
operand2 = stack.pop()
operand1 = stack.pop()
if char == '+':
stack.append(operand1 + operand2)
elif char == '-':
stack.append(operand1 - operand2)
elif char == '*':
stack.append(operand1 * operand2)
elif char == '/':
stack.append(operand1 / operand2)
return stack.pop()
expression = "6+5*3/2"
result = evaluate_expression(expression)
print("结果:", result)
```
在此示例中,我们首先定义了一个空栈,并遍历表达式中的每个字符。如果字符为数字,则将其转换为整数并将其推入栈中。否则,我们从栈中弹出最近的两个操作数,并根据运算符计算它们的值,并将结果推入栈中。最后,表达式求值为栈中的最后一个元素。
以上代码的输出是:
```
结果: 11.0
```