2014-03-05 24 views

回答

6

这条线:

print float(1/50) 

执行的1/50的整数除法,然后将其投射到一个浮子。这是错误的顺序,因为整数除法已经失去了小数值。

你需要转换为浮动第一,在分裂之前,在这些方式中的一种:

float(1)/50 
1./50 
6

当你写print float(1/50),Python的首先计算的1/50值(即0)和然后将其转换为浮动。这显然不是你想要的。

这里有一些方法来做到这一点:

>>> print float(1)/50 
0.02 
>>> print 1/float(50) 
0.02 
>>> print float(1)/float(50) 
0.02 
>>> print 1./50 
0.02 
>>> print 1/50. 
0.02 
>>> print 1./50. 
0.02 
6

或者:

>>> from __future__ import division 
>>> 1/50 
0.02 

这是在默认情况下在Python 3