0

我想对包含以下数字的文本文件(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”的总和。例如

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

请注意,此示例中的函数已简化,它们可以是每个复杂的函数。 感谢您的关注和帮助。

4

1 回答 1

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))
于 2017-07-27T14:59:43.723 回答