for的两个部分不明白,可以讲解一下吗

img


#计算1!+2!+3!+.+n!
n=eval(input("输入一个整数:"))
s=0foriinrange(1,n+1):
s1=1
forjinrange(1,i+1):
s1*=j
s+=s1
print(s)

第一个for循环是记录不同的数,从1开始,一直到n,也就是1 2 3 4 .。。n
第二个for循环计算每个数的阶乘,例如1,就是1, 2就是从1乘到2,。。。。n就是1乘到n
然后把结果累加到S,得到最终结果

望采纳

不用嵌套的,单循环就能解决:

t,s = 1,0
n = 15
for i in range(1,n+1):
    t *= i
    s += t
print(s)