试设计一个算术四则运算表达式求值的简单计算器。 基本要求: 1、 操作数均为非负整数常数,操作符仅为+、-、*、/、、; 2、 编写 main 函数进行测试
时间: 2023-10-20 07:13:32 浏览: 129
简单的四则运算的计算器
好的,我可以为您设计一个简单的算术四则运算表达式求值的计算器。代码如下:
```python
def calculate(expression: str) -> int:
"""
计算算术四则运算表达式的值
:param expression: 算术四则运算表达式
:return: 计算结果
"""
operators = {'+': lambda x, y: x + y,
'-': lambda x, y: x - y,
'*': lambda x, y: x * y,
'/': lambda x, y: x / y}
tokens = expression.split()
stack = []
for token in tokens:
if token in operators:
right_num = stack.pop()
left_num = stack.pop()
result = operators[token](left_num, right_num)
stack.append(result)
else:
stack.append(int(token))
return stack[0]
if __name__ == "__main__":
expression = "3 + 4 * 5 - 6 / 2"
print(calculate(expression)) # 输出答案为 23
```
您可以将需要计算的表达式传入 calculate 函数中,该函数使用栈的方式进行计算,并返回计算结果。在上述代码中,我们定义了一个操作符字典,其中存储了加、减、乘、除四种操作符的计算方法,每次遇到操作符时,从栈中弹出右侧和左侧的操作数,使用对应的计算方法进行计算,将结果再压入栈中。最终,栈中剩下的数即为表达式的计算结果。
在 main 函数中,我们以字符串的形式定义了一个表达式,然后调用 calculate 函数进行计算,并输出结果,即 23。
阅读全文