2024-04-19 13:36:45 发布
网友
为什么我的代码只有当我把除数变成浮点数时才起作用?你知道吗
a = 50/1000.0*100
当我做下面的,它返回一个0。你知道吗
a = 50/1000*100
在Python2.x中,50/1000是0,因为整数除法假定您需要整数结果。如果你将分子或分母转换成浮点数,你将得到正确的行为。或者你可以使用
from __future__ import division
获取python3.x语义。你知道吗
在python2中,当两个操作数都是整数时,a/b与a//b相同,这意味着您得到整数除法。^在这种情况下,{}是0(余数为50,从divmod(50, 1000)的返回值可以看出)。你知道吗
a/b
a//b
divmod(50, 1000)
如果您使用Python2.X以上的结果 如果使用python3.x,结果是
Python 3.4.3 (default, Jul 28 2015, 18:24:59) [GCC 4.8.4] on linux >>> a = 50/1000*100 >>> a 5.0 >>> a = 50/1000.0*100 >>> a 5.0 >>>
在Python2.x中,50/1000是0,因为整数除法假定您需要整数结果。如果你将分子或分母转换成浮点数,你将得到正确的行为。或者你可以使用
from __future__ import division
获取python3.x语义。你知道吗
在python2中,当两个操作数都是整数时,}是0(余数为50,从
a/b
与a//b
相同,这意味着您得到整数除法。^在这种情况下,{divmod(50, 1000)
的返回值可以看出)。你知道吗如果您使用Python2.X以上的结果 如果使用python3.x,结果是
相关问题 更多 >
编程相关推荐