0

3 つの列で構成される txt ファイルがあります。最初の列は整数で、2 番目と 3 番目の列は浮動小数点数です。各フロートで計算を行い、行ごとに分けたい。私の疑似コードは以下の通りです:

def first_function(file):
    pogt = 0.   
    f=open(file, 'r')
    for line in f:
        pogt += otherFunction(first float, second float)
        f.close

また、「for line in f」は、私のpogtがtxtファイル内のすべての行のotherFunction計算の合計になることを保証しますか?

4

1 に答える 1

0

first floatの値を正しく取得すると仮定すると、コードは正しいに近く、行second floatをデデント (インデントの逆) する必要があります。の代わりに行う)f.closewithf.close()f.close

また、変数名として使用しないでくださいfile。Python の予約語です。

また、変数にはより適切な名前を使用してください。

get_numbersファイルがスペースで区切られていると仮定すると、次のように定義できます。

def get_numbers(line):
    [the_integer, first_float, second_float] = line.strip().split()
    return (first_float, second_float)

def first_function(filename):
    the_result = 0
    with open(filename, 'r') as f:
        for line in f:
            (first_float, second_float) = get_numbers(line)
            the_result += other_function(first_float, second_float)
于 2013-10-21T02:49:26.047 に答える