我正在尝试编写一个以文件名作为参数的函数,并返回文件中数字的总和。以下是我到目前为止所做的事情:
def sum_digits (filename):
"""
>>> sum_digits("digits.txt")
434
"""
myfile = open(filename, "r")
newfile = myfile.read()
sum = 0
while newfile.isdigit():
sum += newfile%10
newfile = newfile/10
return sum
if __name__=="__main__":
import doctest
doctest.testmod(verbose=True)
但是这段代码不起作用。我不知道该怎么做。有什么想法吗?
答案 0 :(得分:0)
你需要拆分文本以获得一个数字列表,然后迭代它们将它们加起来:
nums = newfile.split()
for num in nums:
sum += int(num)