【发布时间】:2010-11-19 22:57:07
【问题描述】:
考虑一下 Python 中的这种划分:
Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 2/2
1.0
这是故意的吗?我强烈记得返回int/int = int 的早期版本。我该怎么办?是否有新的除法运算符或者我必须始终转换?
【问题讨论】:
-
是的,这就是 3.x 中除法的工作方式。
-
这是 Python 的创建者发表的一篇关于舍入如何工作的帖子,它与您的问题正交,但我发现它很有趣:python-history.blogspot.com/2010/08/…
-
@hughdbrown 所以这意味着 all python 3 版本?
-
@hughdbrown:是的,PEP 是final,意思是既接受又实施。
-
如果你做的不是简单的除法,那么转换浮点结果是一个更好的方法。例如,计算 480 // 640 * 320 结果为 0
标签: python integer python-3.x division