输入 输入一行表示后缀表达式,数与数之间一定有空格隔开(可能不只一个空格),最后输入@表示输入结束。 数据保证每一步的计算结果均为不超过100000的整数。 输出 输出一个整数,表示该表达式的值.
时间: 2024-03-11 20:48:42 浏览: 14
以下是Python的代码实现:
```python
stack = []
while True:
expr = input().strip()
if expr == '@':
break
tokens = expr.split()
for token in tokens:
if token.isdigit():
stack.append(int(token))
else:
op2 = stack.pop()
op1 = stack.pop()
if token == '+':
result = op1 + op2
elif token == '-':
result = op1 - op2
elif token == '*':
result = op1 * op2
elif token == '/':
result = op1 // op2
stack.append(result)
print(stack[0])
```
首先,我们定义一个栈来存储操作数。然后,从标准输入中读取后缀表达式,使用 split() 方法将其分割成一个个运算符和数字。接下来,我们遍历分割后的列表,如果遇到数字,则将其转换为整数并入栈;如果遇到运算符,则从栈中弹出两个操作数并计算结果,将结果入栈。最后,输出栈中唯一的元素,即为后缀表达式的计算结果。