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

math.sqrt(b*b/(4*a*a)) 为啥是0呢?

a = 3
b = 2
print math.sqrt(b*b/(4*a*a))

为啥结果是0呢?

正在回答

3 回答

b*b=4

4*a*a =36

在python中,整数和整数相除得到的还是整数,所以,4/36=0

要想得到的不是0试着把a和b定义成浮点数a = 3.0  b = 4.0

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

五更寒 提问者

非常感谢!
2018-06-07 回复 有任何疑惑可以回复我~

因为a ,b是整点型。所以两数相除也是整点型,你这结果是小数所以结果位为0.如果b=2.0 a=3.0 就不会了

0 回复 有任何疑惑可以回复我~
如果b是整型数据,在做除法算法,当分子小于分母的时候,结果就是0,故应该写为b=2.0,这样结果就不会是0.

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

举报

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

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

进入课程

math.sqrt(b*b/(4*a*a)) 为啥是0呢?

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