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

请问一下为什么我把sum=0.0 改成sum=0 然后输出结果就是73而不是73.5了?

是因为浮点型和整形 不同的数据类型会影响结果吗?

正在回答

2 回答

和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:

1 + 2    # ==> 整数 3
1.0 + 2.0    # ==> 浮点数 3.0

但是整数和浮点数混合运算的结果就变成浮点数了:


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

慕斯5385914 提问者

谢谢!
2019-06-20 回复 有任何疑惑可以回复我~

L = [75, 92, 59, 68]

sum = 0.0

for x in L:

    sum = sum + x

print sum / 4

请问一下这个For循环语句里的x 是逐次和sum相加的么? 还是先核算x之和后,再加上sum的浮点数呢?

个人理解逐次相加和核算完x之后再相加的区别:

逐次相加:{(75+0.0)+(92+0.0)+(59+0.0)+(68+0.0)}

核算后相加:{(75+92+59+68)+0.0}

希望那位大神可以帮忙解答一下! 感谢

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

SheepShake

按逻辑来说应该是{(75+0.0),(75.0+92),(167.0+59),(226.0+68)}吧?
2019-07-13 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请问一下为什么我把sum=0.0 改成sum=0 然后输出结果就是73而不是73.5了?

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