为了账号安全,请及时绑定邮箱和手机立即绑定

分子加不加括号为什么答案不一样

一:import math

def quadratic_equation(a, b, c):
    if b*b-4*a*c>=0:
        return (-b+math.sqrt(b*b-4*a*c))/2*a,(-b-math.sqrt(b*b-4*a*c))/2*a  
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)

以上的代码出来的值错误的,但是当把return里面的分子加上括号时候,就答案正确,麻烦大神看一下这两个return到底有什么不同:

返回错误的写法:return (-b+math.sqrt(b*b-4*a*c))/2*a,(-b-math.sqrt(b*b-4*a*c))/2*a

返回正确的写法:return (-b+math.sqrt(b*b-4*a*c))/(2*a),(-b-math.sqrt(b*b-4*a*c))/(2*a)





正在回答

2 回答

计算顺序不同,前面那串我用x代替。x/2*a表示:x除以2然后乘以2。在我们熟悉的公式里2和a都在分数线下,分数线表示的是除法,所以实际上应该是除以a,写成x/2/a,或者把2和a相乘后一起除,写成x/(2*a)。

0 回复 有任何疑惑可以回复我~

计算顺序不一样了吧。错误的是先除以二,然后前面那些整体*a,值就不一样



0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

分子加不加括号为什么答案不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信