python计算前n个自然数的阶乘之和_Python计算前n个自然数的阶乘和

本文来源于粉丝私信的问题,目的在于计算result = 1!+2!+3!+...+n!,因为代码比较简单,没加注释,有问题可以留言交流。文中给出了2段代码,在实际使用时应优先考虑使用第一段,第二段仅用来验证,涉及大量重复计算,效率极低。

def factorialBefore(n):

result, t = 1, 1

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

t *= i

result += t

return result

def verify(n):

from math import factorial

result = 0

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

result += factorial(i)

return result

from random import randrange

for i in range(10000):

n = randrange(1, 1000)

if factorialBefore(n) != verify(n):

print(n, 'error')

运行结果:无输出,表示两段代码计算结果一致。

你可能感兴趣的:(python计算前n个自然数的阶乘之和_Python计算前n个自然数的阶乘和)