我有一个由三列组成的txt文件,第一列是整数,第二列和第三列是浮点数。我想用每个浮点数进行计算并逐行分开。我的伪代码如下:
def first_function(file):
pogt = 0.
f=open(file, 'r')
for line in f:
pogt += otherFunction(first float, second float)
f.close
此外," for f"保证我的pogt将是我对txt文件中所有行的otherFunction计算的总和?
答案 0 :(得分:0)
假设您正确获得first float
和second float
的值,您的代码接近正确,您需要对f.close
行进行dedent(缩进的反转),或者甚至更好,使用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)