数据文件的输出总和

时间:2017-07-27 14:51:06

标签: python for-loop text sum data-files

我想在包含以下数字的文本文件(1.txt)中汇总数字

1   10
2   20
3   30

如果我们运行以下代码,我们可以达到在此代码下编写的输出:

q=0
def func(x,y):
   h=y+i
   return x+h
for i in range(1,5):
   with open('1.txt') as f:
        for line in f:
            line=line.strip()
            c= list(map(float, line.split()))
            q=(func(c[0],c[1]))
            print(q,i)

outputs:============
q= 12.0 i= 1
q= 23.0 i= 1
q= 34.0 i= 1
q= 13.0 i= 2
q= 24.0 i= 2
q= 35.0 i= 2
q= 14.0 i= 3
q= 25.0 i= 3
q= 36.0 i= 3
q= 15.0 i= 4
q= 26.0 i= 4
q= 37.0 i= 4

此代码工作正常,但问题是: 我希望得到与每个" i"相关的" q"在out put中。例如

q=12+23+34, i=1
q=13+24+35, i=2
q=14+25+36, i=3
q=15+26+37, i=4

请注意,此示例中的功能已经过简化,它们可以是各种复杂功能。 感谢您的关注和帮助。

1 个答案:

答案 0 :(得分:0)

total = 0

with open('1.txt') as f:
    for line in f:
        line = line.strip()
        c = list(map(float, line.split()))
        total += func(c[0],c[1])


for i in range(1,5):
    print("q={}, i={}".format(total+i, i))