【发布时间】:2017-09-19 23:04:20
【问题描述】:
import sys
num = long(raw_input("Enter the number for the factorial -> "))
sys.setrecursionlimit(num + 1)
def fact(n):
if n == 0 or n == 1:
return 1
else:
return (n * fact(n - 1))
print fact(long(num))
以上是我用于查找阶乘的代码,由于最大递归限制深度为“997”,我尝试使用以下方法进行更改:-
导入系统
sys.setrecursionlimit()
但它仍然给出错误。我还能做什么?
【问题讨论】:
-
递归限制不是一门精确的科学;堆栈不仅仅是正在执行的 Python 函数。您需要增加开销。