7-3 令人抓狂的四则运算 (10 分)
现在请对输入的四则运算求值。注意:
四则运算表达式必定包含运算数,还可能包含运算符和括号( ),不含空格等其它字符
运算数必定包含数字,还可能包含正或负符号+、-以及小数点.
运算符仅有+(加)、-(减)、(乘以)、/(除以)四种
括号可以嵌套
对于带符号的数,可以加括号,也可以不加括号,例如:1±2+3和1+(-2)(+3)是等价的
括号内可以是包含运算符的表达式,也可以仅有运算数,例如:1(2)和1*(2+3)都是合法的表达式
输入格式:
输入由若干行组成:
除最后一行之外,每一行是一个长度不超过80的四则运算表达式
最后一行,是一个=字符
输入的所有字符均为英文半角字符,题目保证给定的表达式是正确的,不需要做有效性检查,题目保证所有运算数的长度(含小数点)均不超过5位,运算的中间结果和最终结果的绝对值均不超过100000
输出格式:
对输入的每个表达式,在一行中给出运算结果,保留1位小数。
输入样例:
1
1+2
3-3.8
1.32*(4+(-2))
=
输出样例:
1.0
3.0
-0.8
2.6
代码如下:
for i in range(10000):
s=input()
if s=='=':
break
print('%.1f'%eval(s))