python求n的阶乘函数

  • Post category:Python

首先,我们来看一下求n的阶乘的数学定义:

n! = n * (n-1) * (n-2) * … * 2 * 1

接下来,我们可以使用Python编写一个函数来求n的阶乘。函数的设计如下:

def factorial(n):
    """
    计算n的阶乘
    :param n: int,要计算的数字
    :return: int,n的阶乘
    """
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

函数的实现过程是:如果n等于0或1,返回1,否则返回n乘以n-1的阶乘。这个过程可以用递归来实现。

下面,我们来看两个具体的代码实例。

第一个实例:计算5的阶乘

print(factorial(5))
# 输出120,即5*4*3*2*1

第二个实例:计算10的阶乘

print(factorial(10))
# 输出3628800,即10*9*8*7*6*5*4*3*2*1

以上就是Python求n的阶乘函数的完整攻略,希望能对你有一定的帮助。需要注意的是,在实现阶乘函数时,我们要考虑到n的值可能会很大,导致结果溢出。为了避免这个问题,可以使用Python提供的高精度计算库,例如decimal、fractions等。