0

我有一个由三列组成的 txt 文件,第一列是整数,第二列和第三列是浮点数。我想对每个浮点数进行计算并按行分隔。我的伪代码如下:

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 将是我 otherFunction 对 txt 文件中所有行的计算的总和?

4

1 回答 1

0

假设您获得正确的值first floatsecond float您的代码接近正确,您需要对f.close行进行缩进(缩进的倒数),或者更好的是使用with,它将为您处理关闭(顺便说一句,您应该做f.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 回答