网站新闻被百度收录,h5魔塔,深汕特别合作区公共事业局,网站备案了有什么好处题目
曾记否#xff0c;我们小学时#xff0c;遇到这种四则运算#xff0c;心情是抓狂的#xff1a; 那么当我们学会使用计算机#xff0c;自然是要程序去完成这个工作啦~ 现在请对输入的四则运算求值。注意#xff1a;
四则运算表达式必定包含运算数#xff0c;还可能…题目
曾记否我们小学时遇到这种四则运算心情是抓狂的 那么当我们学会使用计算机自然是要程序去完成这个工作啦~ 现在请对输入的四则运算求值。注意
四则运算表达式必定包含运算数还可能包含运算符和括号( )不含空格等其它字符 运算数必定包含数字还可能包含正或负符号、-以及小数点. 运算符仅有加、-减、乘以、/除以四种 括号可以嵌套 对于带符号的数可以加括号也可以不加括号例如1±23和1(-2)(3)是等价的 括号内可以是包含运算符的表达式也可以仅有运算数例如1(2)和1*(23)都是合法的表达式
输入格式:
输入由若干行组成
除最后一行之外每一行是一个长度不超过80的四则运算表达式 最后一行是一个字符 输入的所有字符均为英文半角字符题目保证给定的表达式是正确的不需要做有效性检查题目保证所有运算数的长度含小数点均不超过5位运算的中间结果和最终结果的绝对值均不超过100000
输出格式:
对输入的每个表达式在一行中给出运算结果保留1位小数。
输入样例:
1
12
3-3.8
1.32*(4(-2))输出样例:
1.0
3.0
-0.8
2.6题解
import reexpressions []
expression input()while expression ! :expressions.append(expression)expression input()for expr in expressions:result eval(expr)rounded_result round(result, 1)print(f{rounded_result:.1f})
思路
这里直接提出这种题的解决方法就是用py的eval函数可以直接求解计算式不需要转后缀之类的方法。如果使用C或者java解决的话就需要判断优先级转后缀等一系列复杂的操作很麻烦网上也只有代码关于代码的讲解很少所以作者也不太想花太多心理去完全搞懂懒。大家想看我在这里给个链接。 https://blog.csdn.net/weixin_53623850/article/details/121981444