计算四则运算表达式的值。输入一个正确四则运算表达式字符串,表达式正确则输出计算结果,错误则给出提示。
时间: 2023-05-21 15:05:30 浏览: 128
好的,让我来帮你计算四则运算表达式的值。以下是代码示例:
```python
import re
def calculate(expression):
"""计算四则运算表达式的值"""
# 利用正则表达式将表达式中每个数字和操作符分离出来
pattern = r'([\+\-\*/\(\)]|\d+)'
tokens = re.findall(pattern, expression)
# 利用栈来计算表达式的值
stack = []
for token in tokens:
if token.isnumeric():
stack.append(int(token))
elif token in '+-*/':
if len(stack) < 2:
return '表达式有误'
b = stack.pop()
a = stack.pop()
if token == '+':
stack.append(a + b)
elif token == '-':
stack.append(a - b)
elif token == '*':
stack.append(a * b)
elif token == '/':
stack.append(a / b)
elif token == '(':
stack.append(token)
elif token == ')':
if len(stack) < 2:
return '表达式有误'
b = stack.pop()
op = stack.pop()
if op != '(':
return '表达式有误'
stack.append(b)
if len(stack) != 1:
return '表达式有误'
return stack[0]
expression = input('请输入四则运算表达式:')
print(calculate(expression))
```
当你输入一个正确的四则运算表达式,该程序将会给出计算结果。例如,如果你输入 "2*(3+4)-5",程序将输出 "9"。
如果你输入的表达式有误(例如括号不匹配,操作符使用不正确等等),程序将输出 "表达式有误"。
希望这个程序可以帮到你!
阅读全文