我正在学习python,需要一些帮助来完成我的课堂作业。
我有一个文件,里面有文字和数字。一些行有一到三个数字,而其他行则完全没有数字。
我需要:
仅使用regex从文件中提取数字
求所有数字的和
我用正则表达式提取出所有的数字。我试图得到所有数字的总和,但我只是得到每行有数字的总和。我一直在用不同的方法来完成这项任务,这是我最接近完成任务的方法。
我知道我漏掉了一些关键部分,但我不知道我做错了什么。
这是我的代码:
import re
text = open('text_numbers.txt')
for line in text:
line = line.strip()
y = re.findall('([0-9]+)',line)
if len(y) > 0:
print sum(map(int, y))
我得到的结果是这样的 (每一个是一行的和):
14151
8107
16997
18305
3866
它必须是这样的一个和(所有数字的和):
134058
我不太懂python,但我可以给出一个简单的解决方案。 试试这个
这就是你要找的吗?
我第一次尝试用正则表达式来回答这个问题,我发现阅读别人的代码是一项很好的技巧。
为了“理解列表”而喝一杯啤酒,虽然他的“r”似乎不需要,但不知道它是做什么的。但它读起来很漂亮,我读了两个像我的答案一样的循环,就更糊涂了
相关问题 更多 >
编程相关推荐