python求阶乘代码

以下是Python求阶乘的代码:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

使用方法:

print(factorial(5)) # 输出 120

解释:

该函数使用递归的方式计算阶乘。当输入为0时,返回1;否则,返回n乘以n-1的阶乘。

下面我再补充一些关于Python求阶乘的知识。

阶乘的定义

阶乘是指从1到某个正整数n的所有整数相乘的积,通常用符号n!表示。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。

递归和循环两种方法

在Python中,求阶乘可以使用递归和循环两种方法。递归方法的代码已经在上面给出了,下面是循环方法的代码:

def factorial(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result

这个函数使用for循环从1到n依次相乘,最后返回结果。

阶乘的计算范围

由于阶乘的计算结果很快就会变得非常大,所以在Python中,使用int类型存储阶乘的结果时,只能计算比较小的阶乘。当阶乘的结果超过int类型的最大值时,会出现溢出错误。如果需要计算比较大的阶乘,可以使用Python的高精度计算库,例如Python自带的decimal模块或第三方库gmpy2。