Think Python Exercise 10.2

编写一个叫做 cumsum 的函数,接受一个由数值组成的列表,并返回累加和;即一个新列表,其中第i个元素是原列表中前i+1个元素的和(注意i是从0开始的)。 例如:

>>> t = [1, 2, 3]
>>> cumsum(t)
[1, 3, 6]

解答:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def cumsum(t):
    numsum = []
    for i in range(len(t)):
        numsum.append(sum(t[:i+1])) 
        #对t的前i+1个元素求和(注意i是从0开始,所以第i个元素是第i+1个元素),然后追加到新列表里
    return numsum

t = [1, 2, 3]
print(cumsum(t))

t = [3,3,6,9,10]
print(cumsum(t))