如何使用while循环从文件中查找数字总和?

时间:2014-04-04 02:18:43

标签: python

我正在尝试编写一个以文件名作为参数的函数,并返回文件中数字的总和。以下是我到目前为止所做的事情:

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)

但是这段代码不起作用。我不知道该怎么做。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你需要拆分文本以获得一个数字列表,然后迭代它们将它们加起来:

nums = newfile.split()
for num in nums:
    sum += int(num)