python阶乘的代码

python
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) # 示例用法 num = int(input("请输入一个整数:")) print("阶乘为:", factorial(num))

这个代码定义了一个递归函数 factorial,它接受一个整数参数 n,并返回 n 的阶乘。当 n 为0时,返回1,否则返回 n * factorial(n-1),这就是递归的定义。

这个程序的关键点在于 factorial 函数的递归定义。

需要注意的是,虽然递归是一种简洁的方式来解决问题,但在处理大的输入值时,可能会导致栈溢出错误。这是因为每次递归调用都会在内存堆栈中占用一定的空间。在实际应用中,可以考虑使用循环或其他更有效的算法来计算阶乘,以避免潜在的问题。