编写程序使 输入一个字符串,包含多个以空格分隔的四则运算表达式及计算的结果,请一行一个批改这些表达式的计算是否正确,如果正确则打√,如果错误则打╳。 例如,输入:3*5-2=17 2-3+5=4 12*30-200=1030 15*15-10*10=125 则显示: 3*5-2=17 ╳ 2-3+5=4 √ 12*30-200=1030 ╳ 15*15-10*10=125 √
时间: 2024-03-14 07:47:24 浏览: 52
下面是一个Python程序的实现,可以实现输入一个包含多个四则运算表达式的字符串,检查它们的计算结果是否正确并输出结果:
```python
import re
# 定义正则表达式
pattern = r"([-+]?[0-9]+(\.[0-9]+)?)(\s*([-+*/])\s*([-+]?[0-9]+(\.[0-9]+)?))*\s*=\s*([-+]?[0-9]+(\.[0-9]+)?)"
# 输入字符串
text = input("请输入包含多个四则运算表达式的字符串:")
# 分割字符串为多个表达式
expressions = text.split()
# 遍历每个表达式
for expression in expressions:
# 检查表达式是否符合正则表达式的格式
match = re.match(pattern, expression)
if not match:
print(expression, "格式不正确")
continue
# 计算表达式的值
try:
value = eval(expression[:-1])
except:
print(expression, "格式不正确")
continue
# 比较计算结果和预期结果
if abs(value - float(match.group(8))) < 1e-6:
print(expression, "√")
else:
print(expression, "╳")
```
这个程序首先定义了一个正则表达式,用于匹配包含运算符和等号的四则运算表达式。然后从输入中分割出多个表达式,遍历每个表达式,检查它们是否符合正则表达式的格式,计算它们的值,并比较计算结果和预期结果。最后输出结果。
阅读全文