输入整数n,计算1+(1+2)+(1+2+3)+··+(1+2+3+··+n)的和

def sum(m):
s=0
for n in range(1,m+1):
s=s+n
return s
后面要怎么加?


def sum(m):
    s=0
    for n in range(1,m+1):
        s=s+n
    return s

res = 0
n = int(input())
for i in range(n+1):
    res+=sum(i)

print(res)

换个思路,一个函数解决:

def sum(n):
    s=0
    for i in range(1,n+1):
        for j in range(1,i+1):
            s += j
    return s
n = int(input())
print(sum(n))

一行代码就能解决:
sum([i*(n-i+1) for i in range(1,n+1)])

或者:
sum(map(lambda x:x*(n-x+1), range(1,n+1)))

sum(map(lambda x:(x+1)*(n-x), range(n)))