如果以文本文件中的数值开头,则查找行的总和

我有一个包含数据的文本文件,


a b c d e

1 2 3 4 5

f g h i j

6 7 8 9 10

k l m n o

11 12 13 14 15

和所需的输出是 0, 15, 0, 40, 0, 65.

我的尝试


f=open("C:/Users/kaleemi/Desktop/text.txt","r+")

s=0  

for line in f:  

    for i in line:  

        if i.isnumeric():  

            s=s+int(i)  

        else:  

            continue  

    print(s)  

    s=0  

输出:0、15、0、31、0、20。


请帮助我更正此代码。


忽然笑
浏览 149回答 2
2回答

达令说

你的问题是,你加起来的数字在每一行,而不是数量。 split在个体数量和更改的行那些到int。s=0  for line in f:      for i in line.split():          if i.isnumeric():              s=s+int(i)      print(s)      s=0输出:015040065请注意,我删除了无用的continue.如果您需要在一行中输出,您需要将它们收集在一个列表中,并在您阅读所有输入行后打印它们。我保留了您原始程序的格式。是的,这可以通过带有sum过滤器的列表理解来完成。我也保持你目前的编程水平。

喵喵时光机

import numpywith open("/Users/michael/Desktop/text.txt") as f:    data = f.readlines()for line in data:    try:        l = list(map(float, line.rstrip().split(" ")))        mean = int(numpy.sum(l))    except ValueError:        mean = 0    print(mean)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python