整数除法在CPython 2.7和Spyder中给出了不同的结果
我在Python中遇到了一个非常奇怪的例子 在Spyder中:整数除法在CPython 2.7和Spyder中给出了不同的结果,python,python-2.7,integer,division,Python,Python 2.7,Integer,Division,我在Python中遇到了一个非常奇怪的例子 在Spyder中: >>> 274/365 0.7506849315068493 >>> sys.version '2.7.6 (default, Dec 20 2013, 14:08:04) [MSC v.1700 64 bit (AMD64)]' >>> 但是,在命令行中,它返回0 >>> 274/365 0 >>> 274/365 * 1.0 0.0 &
>>> 274/365
0.7506849315068493
>>> sys.version
'2.7.6 (default, Dec 20 2013, 14:08:04) [MSC v.1700 64 bit (AMD64)]'
>>>
但是,在命令行中,它返回0
>>> 274/365
0
>>> 274/365 * 1.0
0.0
>>> 274/365.0
0.7506849315068493
相同版本的Python
有人能告诉我这里出了什么问题吗?我是否需要在计划之前再做一些选择?这真让人恶心,因为如果我通过命令行调用我的代码,会产生奇怪的结果。您可以使用不同版本的Python(在Spyder 3.*和命令行2.*中),或者在Spyder中为您的控制台自动导入,包括
from __future__ import division
在Python2.7的命令行上
>>> 4/3
1
>>> from __future__ import division
>>> 4/3
1.3333333333333333
您可以使用不同版本的Python(在Spyder 3.*和命令行2.*中),也可以在Spyder中自动导入控制台,包括
from __future__ import division
在Python2.7的命令行上
>>> 4/3
1
>>> from __future__ import division
>>> 4/3
1.3333333333333333
Spyder在其控制台中从“未来”导入分部执行
这将在中讨论-为避免混淆,默认情况下将禁用此选项。Spyder在其控制台中从“未来”导入分部执行
这将在中讨论-看起来默认情况下将停用此选项以避免混淆。标准命令行中的sys.version
的结果是什么?'2.7.6(默认,2013年12月20日,14:08:04)[MSC v.1700 64位(AMD64)]相同,所以我没有粘贴它..标准命令行中的sys.version
的结果是什么?'2.7.6(默认,2013年12月20日,14:08:04)[MSC v.1700 64位(AMD64)]相同,所以我没有粘贴它..谢谢解释!因此,我最好明确地添加这一行。如果这对您有效,请不要忘记将问题标记为已回答;-)谢谢你的解释!因此,我最好明确地添加这一行。如果这对您有效,请不要忘记将问题标记为已回答;-)我在两端都使用Python2.6。我相信这是因为这个秘密。谢谢你告诉我这个复活节彩蛋!我在两端都使用Python2.6。我相信这是因为这个秘密。谢谢你告诉我这个复活节彩蛋!