📅  最后修改于: 2023-12-03 15:28:50.077000             🧑  作者: Mango
阶乘是指从1到指定的数之间的所有整数乘积,以感叹号“!”表示。在Python中,可以通过循环和递归两种方式实现阶乘计算。
def factorial(n):
"""
通过循环方式计算阶乘
参数:
n: int
返回值:
int
"""
result = 1
for i in range(1, n+1):
result *= i
return result
def factorial(n):
"""
通过递归方式计算阶乘
参数:
n: int
返回值:
int
"""
if n == 1:
return 1
else:
return n * factorial(n-1)
在使用递归方式计算阶乘时,需要注意防止栈溢出,因为计算阶乘时,每次递归调用都会创建一个新的栈帧。可以通过设置递归深度的方式来解决这个问题。例如:
import sys
sys.setrecursionlimit(10000)
在Python中,math库提供了一个名为factorial的函数,可以直接计算阶乘。该函数接收一个参数n,表示要计算的数。
import math
result = math.factorial(5)
以上就是Python中阶乘公式的实现方式。