永发信息网

python3“/”操作时1与1.0的区别

答案:2  悬赏:40  手机版
解决时间 2021-02-23 20:53
  • 提问者网友:鐵馬踏冰河
  • 2021-02-23 14:23
n=int(input().strip())
sum=1
for i in range(1,n+1):
a=1
for j in range(1,i+1):
a=a*j
sum+=1/a
print('e = %.4f'%sum)

这个程序中第七行“sum+=1/a”如果改成“sum+=1.0/a”,当n较大的时候输出会不一样,这是为什么呢?(用的是Python3)
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-02-23 15:17
确定是Python3.x?python3的除法默认是浮点除法了。
可以在这行上面加句测试代码
print a, 1/a
看看结果是什么
全部回答
  • 1楼网友:春色三分
  • 2021-02-23 15:36
3.0还没有具体的发布计划。3.0和2.x的python用一份代码是完全不可能的。估计等到3.0发布的时候,一些主要项目应当都会出3.0的分支。等到3.0真正流行后才会升级成trunk(再怎么乐观也得2~3年吧)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯