0

いくつかのテキストドキュメントを解析し、いくつかの単語が出現する頻度を示すコードを作成しました。

出力は次のとおりです。

Counting words by tag
---------------------

modals
per 1000 words                    can  could  shall should   will  would
austen-emma.txt                1.480000 4.350000 1.100000 1.920000 2.900000 4.260000
austen-persuasion.txt          1.090000 4.590000 0.560000 1.920000 1.650000 3.620000
austen-sense.txt               1.500000 4.060000 0.870000 1.640000 2.500000 3.600000
chesterton-ball.txt            1.460000 1.210000 0.510000 0.770000 2.040000 1.440000
chesterton-brown.txt           1.500000 1.990000 0.350000 0.650000 1.290000 1.570000
chesterton-thursday.txt        1.760000 2.180000 0.710000 0.780000 1.570000 1.730000

ご覧のとおり、数値は100分の1に丸められていますが、私のプログラムはまだいくつかの過剰なゼロを出力します。

これは、次のコード行にある表に依存します。

     cell = round(float(cfdist[fileid][w])*1000/number_of_words[fileid],2)
     print '%6f' % (cell),  

誰かが行の印刷'%6f'%(セル)を改善して、終了ゼロが表示されないようにするのを手伝ってくれるでしょうか?

ありがとう!

4

2 に答える 2

3

Python 文字列フォーマットのドキュメントを参照してください。「%6f」が問題です。代わりに、試してください

print "%.2f" % cell
于 2013-01-27T19:25:01.767 に答える
1

数値 = 12.3456

new_val = '%.2f' % float(数値)

print float(new_val)

12.34

于 2015-09-30T07:36:02.880 に答える