我有一个包含以下声明的脚本:
Me = 5.97219E+24 Ms = 1.9891E+30 ae = 149597887155 r = ae*((Me/Ms)**(2/5))
运行脚本后,变量r
具有与ae
相同的值149597887155。这显然不是评估表达式后我所期望的值。
我尝试重新启动计算机,启动新的Python解释器,甚至安装另一个Python发行版。在每种情况下都是相同的结果。
目前,我正在使用Anaconda和Python 2.7以及Spyder作为编辑。
奇怪的是,当我直接将语句复制并粘贴到解释器中时,它们会被正确评估。
听起来对任何人来说都很熟悉吗?这有什么原因吗?
答案 0 :(得分:1)
在Python 2.7中,2/5是一个整数除法,得到0.任何由0驱动的都是1,这意味着r的最终结果是ae * 1.
在Python 3.3中,2/5结果为0.4,可能会给出您期望的结果。
仅关于控制台的区别:我没有差异。