开发者社区> 问答> 正文

Python代码运行后报错maximum recursion depth exceeded in c

代码如下:

def demo(num):
    if num<1:
        return
    demo(num)
    return num+1



print(demo(2))

运行报错

Traceback (most recent call last):
  File "/Users/jiangyd/PycharmProjects/untitled16/demo2/b.py", line 10, in <module>
    print(demo(2))
  File "/Users/jiangyd/PycharmProjects/untitled16/demo2/b.py", line 5, in demo
    demo(num)
  File "/Users/jiangyd/PycharmProjects/untitled16/demo2/b.py", line 5, in demo
    demo(num)
  File "/Users/jiangyd/PycharmProjects/untitled16/demo2/b.py", line 5, in demo
    demo(num)
  [Previous line repeated 995 more times]
  File "/Users/jiangyd/PycharmProjects/untitled16/demo2/b.py", line 3, in demo
    if num<1:
RecursionError: maximum recursion depth exceeded in comparison

展开
收起
道月芬1 2021-10-19 14:37:49 979 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,发现python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常。

    2021-10-19 16:17:32
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载