Python3默认递归最大深度是998

Python代码:

"""
i = 998 时,正常
i = 999 时,报错:maximum recursion depth exceeded in comparison
由此可知Python递归默认深度为 998

如果超过998,则最大递归深度至少+2

"""

import sys

def fact(n):
    if n==1:
        return 1
    return n + fact(n - 1)

i = 999
sys.setrecursionlimit(i+2) #设置最大递归深度,如果注释该行代码则执行报错
s = fact(i)
print("\r\n1-%s的整数之和是:%s" % (i,s))

输出结果:

E:\python\algorithm>python3 recursive.py

1-999的整数之和是:499500

E:\python\algorithm>

=====结束=====

posted @ 2018-01-23 20:14  sam11  阅读(2522)  评论(0编辑  收藏  举报