Python 为什么是;(1/6)*(66.900009-62.852596)“;评估为零?
在Objective-C(Xcode)和Python(terminal)中都进行了尝试,Python 为什么是;(1/6)*(66.900009-62.852596)“;评估为零?,python,xcode,Python,Xcode,在Objective-C(Xcode)和Python(terminal)中都进行了尝试,(1/6)*(66.900009-62.852596)两次计算结果均为零。有人知道这是为什么吗?它不应该是0.26246吗?你在1/6上做整数运算,而1/6的底部是0。试试1.0/6。1/6是整数除法,它变成了0。尝试改用1.0/6。为了避免对整数导入执行意外的楼层分割,请在模块顶部执行“未来导入”分割中的: >>> from __future__ import division >&
(1/6)*(66.900009-62.852596)
两次计算结果均为零。有人知道这是为什么吗?它不应该是0.26246吗?你在1/6
上做整数运算,而1/6
的底部是0
。试试1.0/6
。1/6
是整数除法,它变成了0。尝试改用1.0/6
。为了避免对整数导入执行意外的楼层分割,请在模块顶部执行“未来导入”分割中的:
>>> from __future__ import division
>>> (1/6)*(66.900009-62.852596)
0.6745688333333331
负责启用Python3中默认情况下提供的功能。注意,在Python3.x中,情况并非如此<默认情况下,code>/
是真除法,因此您可以得到预期的结果。您也可以在Python2.x中通过从uuu future uuuuu导入部分执行来模拟这一点。仅供参考,除了下面的答案之外,您甚至不需要后面的零:(1./6)
或(1/6.)
也可以。