Python除法仅在对除数使用浮点时有效

2024-04-19 13:36:45 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我的代码只有当我把除数变成浮点数时才起作用?你知道吗

a = 50/1000.0*100

当我做下面的,它返回一个0。你知道吗

a = 50/1000*100

Tags: 代码浮点数除数
3条回答

在Python2.x中,50/1000是0,因为整数除法假定您需要整数结果。如果你将分子或分母转换成浮点数,你将得到正确的行为。或者你可以使用

from __future__ import division

获取python3.x语义。你知道吗

在python2中,当两个操作数都是整数时,a/ba//b相同,这意味着您得到整数除法。^在这种情况下,{}是0(余数为50,从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
>>> 

相关问题 更多 >