python 的一个小问题

问题遇到的现象和发生背景

输入n 求阶乘 1+1/1!+1/2!+⋯+1/n!公式

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

 
n = int(input())
result = 1
temp = 1
for i in range(1, n + 1):
    temp = temp * i
    result = result + 1 / temp
 
print("{:.8f}".format(result))

添加了详细注释,如有帮助,请采纳


def sum(n):

 

   def fact(a):
 

       t=1
 

       #求n的阶乘
 

       for i in range(1,a+1):
 

           t*=i
 

       return t
 

   s=0
 

   #求阶乘的和
 

   for i in range(1,n+1):
 

       s+=fact(i)
 

   return s
 

#将输入的字符串的值,赋值给n。
 

n=eval(input("请输入数字:"))
 

print("{}以内的阶乘之和为:{}".format(n,sum(n)))

这是自然常数e的级数展开式计算:

>>> n = int(input())
20
>>> res,tmp = 1,1
>>> for i in range(n):
    tmp *= i+1
    res += 1/tmp

    
>>> res
2.7182818284590455