【问题描述】
编写一个程序,对输入的中缀表达式求值。中缀表达式由以下几部分构成:
-
运算量都是一位整数。
-
运算符有四种:'+'、 '-'、 '*'、 '/',代表四则运算。
-
小括号(可以嵌套)。
在计算时,运算量均以浮点数进行计算。运算结果也是一个浮点数。
【输入形式】
从当前目录下express.in文件读入中缀表达式。
该文件只有一行字符串,是由上述各部分构成的一个合法中缀表达式。表达式中不含空格,字符个数不超过80个。
【输出形式】
将计算结果输出到当前目录下express.out文件中。
运算结果以"%f"形式输出,保留默认的小数位数。
【输入样例】
7+7-8-59/3+3-93+((3-6+6)/4-3)
【输出样例】
-35.250000
【样例说明】
中缀表达式7+7-8-59/3+3-93+((3-6+6)/4-3)求值的结果是-35.250000
f = open('express.in')
s = f.readline()
s = s.replace('\n', '')
g = open('express.out', 'a')
g.seek(0)
g.truncate()
result = eval(s) # 字符串表达式求值
result = '%.6f' % result
g.write(str(result))
f.close()
g.close()