Python 中的阶乘函数

新手上路,请多包涵

如何在 Python 中计算整数的阶乘?

原文由 Nir Levy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 254
1 个回答

最简单的方法是使用 math.factorial (在 Python 2.6 及更高版本中可用):

 import math
math.factorial(1000)

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

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

递归 方法:

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

请注意, 阶乘函数 仅为正整数定义,因此您还应该检查 n >= 0isinstance(n, int) 。如果不是,请分别提高 ValueErrorTypeErrormath.factorial 会为您解决这个问题。

原文由 schnaader 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏