2014-03-05 27 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