【发布时间】:2016-06-06 23:07:01
【问题描述】:
我正在尝试查找输入文件中所有数字的总和,但它不起作用。到目前为止,这是我的代码:
import re
fname = raw_input("Enter name of the file: ")
fh = open(fname)
for i in fh:
y = re.findall('[0-9]+', i)
print y
n=0
for p in y:
n = n + int(p)
print n
【问题讨论】:
-
你想要所有数字的总和还是每行的总和?
-
所有数字。但是我的程序在第一个 for 循环中出错了,它将数字存储在 y 列表中
-
检查我的答案,你应该会发现你不需要那个循环。只需使用
re.findall('[0-9]+',fh)。 -
您的文件是什么样的?每行一个号码,没有其他号码?带文字的数字?
-
请注意,最好在使用文件后关闭文件(循环后
fh.close()),或者更好的是使用with语句,以便自动处理文件关闭。