如何告诉python我需要小数?

时间:2015-02-05 22:19:27

标签: python nltk

我的程序是查找类型数,令牌数和类型到令牌比。但是,我不知道如何告诉Python ttr的答案不是整数。

from nltk.corpus import inaugural 

print inaugural.fileids()

tokens = inaugural.words("1789-Washington.txt")

numtokens = len(tokens)
print numtokens

types = sorted(set(tokens))
numtypes = len(types)
print numtypes

# This is the part I'm unsure about.     
ttr = numtypes/numtokens
print ttr

1 个答案:

答案 0 :(得分:2)

如果您使用的是Python 3,则除法运算符/默认执行浮点除法:

>>> 3 / 2
1.5
>>> 4 / 2
2.0

因为整数除法由//运算符处理。

在Python 2.x中,如果要在整数除法中使用小数精度,可以将分母或分母转换为float(),如下所示:

ttf = float(numtypes) / numtokens

或者,正如tobias_k指出的那样,你可以做到

>>> from __future__ import division
>>> 3 / 2
1.5

在Python 2.x中获得Python3-esque划分