python一道题怎么都想不出来😥

输入n
计算1!+2!+…+n!
想不出来思路...求助😢😢谢谢!!!

n=input()
if not n.isdigit():       # 判断是否仅为数字,如果是则只为正整数
    print("输入有误,请输入正整数")
elif int(n)==0:
    print("输入有误,请输入正整数")
else:
    tmp = 1
    sum = 0
    for i in range(1,int(n)+1):
        tmp=tmp*i
        sum=sum+tmp
    print(sum)

import math
n=int(input('输入整数'))
print(math.factorial(n))



def sum(n):
    def f(n):
    #f(n)方法的功能是:f(n)=1*2*...*n。第一次使用递归
        return 1 if n == 1 else f(n - 1) * n
    #最后使用递归,实现sum()=1!+2!+...+n!
    return 1 if n == 1 else sum(n - 1) + f(n)
    #返回段:1    #条件n==1      前进断sum(n - 1) + f(n)


print(sum(5))#输出153