Python:如何对一行整数进行一个接一个的求和



我有几行整数(来自.txt文件),我想对每行的每个有符号整数逐一求和。

示例:

37107287533902102798797998220837590246510135740250 line0 = sum_of_numbers
46376937677490009712648124896970078050417018260538 line1 = sum_of_numbers
74324986199524741059474233309513058123726617309629 .
91942213363574161572522430563301811072406154908250 .
23067588207539346171171980310421047513778063246676 .
89261670696623633820136378418383684178734361726757 .
28112879812849979408065481931592621691275889832738 .
44274228917432520321923589422876796487670272189318 .
47451445736001306439091167216856844588711603153276 .
70386486105843025439939619828917593665686757934951 line9 = sum_of_numbers 
f = open('foo.txt', 'r')
def sum_line(line):
  return sum(int(c) for c in line.strip())
line_sums = [sum_line(line) for line in f]

您可以使用类似的方法来遍历文件的行并对数字求和。

with open('file.txt', 'r') as f:
    for line in f:
        print(sum(int(char) for char in line.strip()))

如果你的行可能不是全是数字,你需要用这个来检查。

print(sum(int(char) for char in line if char.isdigit()))
# no need for .strip() since n characters are not a digit