0

大きなタブ区切りファイルをフィルタリングして、列の 1 つでスコアが 0.999 を超える行だけを出力しようとしていますが、何らかの理由でスクリプトの出力はすべての行を出力し続けます。「if score > 0.999:」が意図したとおりに機能しない理由についての洞察はありますか?

import sys
import string
import re


def split_lines(lines):
for line in lines:
    if line.find('#') >-1:

        print line
    else:
        #pass
        #fields = re.split('\t',line)
        fields = line.split('\t')
        score = fields[3]
        if score > 0.999:
            print score

        #else:
        #   pass



data = sys.stdin.read()
lines = data.split('\n')

split_lines(lines)
4

1 に答える 1

3

文字列スコアを数値形式、Decimal または float に変換する必要があります

if float(score) > 0.999
于 2013-06-13T22:24:07.760 に答える