给定一个算式运算,算式由运算数、+、-、、/、(、)组成,请编写程序判断该算式运算是否合法。如果合法,计算该算式的值。
输入描述:
第一行输入一个运算表达式
输出描述:
如果表达式合法则计算其值,结果保留两位小数,如果不合法则输出 表达式不合法!
输入样例: (5+3)*9
输出样例: 72.00
import re
def is_valid_expression(expression):
valid_pattern = re.compile(r'^[\d+\-*/().\s]+$')
if not valid_pattern.match(expression):
return False
try:
eval(expression)
except:
return False
return True
def calculate_expression(expression):
result = eval(expression)
return f"{result:.2f}"
def main():
expression = input().strip()
if is_valid_expression(expression):
print(calculate_expression(expression))
else:
print("表达式不合法!")
main()
标签:合法性,return,运算,算式,合法,valid,expression
From: https://blog.csdn.net/m0_62222486/article/details/139379085