Python中的Factorial函数

2024-04-19 08:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

其实没必要,因为这是一条老线索。但我在这里做的是另一种使用while循环计算整数阶乘的方法。

def factorial(n):
    num = 1
    while n >= 1:
        num = num * n
        n = n - 1
    return num

在Python2.6及更高版本上,尝试:

import math
math.factorial(n)

最简单的方法是使用^{}(在Python 2.6及更高版本中提供):

import math
math.factorial(1000)

如果你想/必须自己写,你可以使用迭代的方法:

def factorial(n):
    fact = 1
    for num in range(2, n + 1):
        fact *= num
    return fact

recursive方法:

def factorial(n):
    if n < 2:
        return 1
    else:
        return n * factorial(n-1)

注意factorial function只为正整数定义,所以您还应该检查n >= 0^{}。如果不是,则分别提出^{}^{}math.factorial会帮你处理的。

相关问题 更多 >