实际应用中遇到了一个python递归调用的问题,报错如下:

RuntimeError: maximum recursion depth exceeded while calling a Python object

网上找了一下,原来Python确实有递归次数限制,默认最大次数为1000

在正常的python里: 
  
In [1]: sys.setrecursionlimit? 
Type: builtin_function_or_method 
Base Class: <type 'builtin_function_or_method'> 
String Form: <built-in function setrecursionlimit> 
Namespace: Interactive 
Docstring: 
     setrecursionlimit(n) 
      
     Set the maximum depth of the Python interpreter stack to  
n.  This limit prevents infinite recursion from causing an  
overflow of the C stack and crashing Python.  The highest  
possible limit is platform-dependent.

那么如何进行判断处理呢?下面给出两段代码,供参考。

代码如下:

def recursion(n): if(n <= 0): return print(n)recursion(n - 1) if __name__ == "__main__":recursion(1000)

当在我自己的机器运行以上代码时,发现最多能打印到998,然后就会抛出 “RuntimeError: maximum recursion depth exceeded” 的错误了。 嘿,还真有限制。但转念一想,python不会这么弱吧。经过一番查找,发现这是python专门设置的一种机制用来防止无限递归造成Python溢出崩溃, 最大递归次数是可以重新调整的。 (http://docs.python.org/3/library/sys.html#sys.setrecursionlimit),修改代码如下:

import sys
sys.setrecursionlimit(1500) # set the maximum depth as 1500def recursion(n): if(n <= 0): return print(n)recursion(n - 1) if __name__ == "__main__":recursion(1200)

再次运行,顺利通过

python3 中递归的最大次数相关推荐

  1. Python中递归的最大次数

    实际应用中遇到了一个python递归调用的问题,报错如下: RuntimeError: maximum recursion depth exceeded while calling a Python ...

  2. 数组重复次数最多的元素递归_使用递归计算链接列表中元素的出现次数

    数组重复次数最多的元素递归 Solution: 解: Required function: 所需功能: func_occurence ( node *temp) //recursive functio ...

  3. 数组重复次数最多的元素递归_在不使用递归的情况下计算链接列表中元素的出现次数...

    数组重复次数最多的元素递归 Solution: 解: Input: 输入: A singly linked list whose address of the first node is stored ...

  4. C++求从1到n的正整数中1出现的次数

    编程之美中的一道题: 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数. 例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 问题描述:给定 ...

  5. python从1到n出现了多少个1-Python解决 从1到n整数中1出现的次数

    最近在看<剑指Offer>,面试题32的题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1的数字有1.10.11和12,1一共出 ...

  6. 程序员面试题精选100题(25)-在从1到n的正数中1出现的次数[算法]

    题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数. 例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 分析:这是一道广为流传的google ...

  7. 《剑指offer》-- 数组中的逆序对、最小的K个数、从1到n整数中1出现的次数、正则表达式匹配、数值的整数次方

    一.数组中的逆序对: 1.题目: 数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出 ...

  8. 《剑指offer》-整数中1出现的次数

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  9. java计算整数出现的次数_[剑指offer题解][Java]1到n整数中1出现的次数

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

最新文章

  1. LeetCode简单题之验证外星语词典
  2. 北大燕博南:下一代AI芯片— 存内计算的硬核与软着陆 | 报告详解
  3. Linux中SysRq的使用[zt]
  4. 设计模式学习笔记-状态模式
  5. 概率统计:第八章:假设检验
  6. Python 过滤字母和数字
  7. threejs获取模型坐标_Threejs倒影实现解析
  8. 【IOS】从android角度来实现(理解)IOS的UITableView
  9. vba判断是否为数字的方法小集
  10. 创建和销毁对象(1)
  11. java中有效关键字_java中有效的关键字
  12. 微软发布Visual Studio Mac预览版
  13. 正版卡巴斯基安全部队2011激活码1年
  14. Java并发编程之ReentrantReadWriteLock详解
  15. 计算机怎么改鼠标标志,电脑鼠标指针怎么改 修改电脑鼠标指针方法【图文】...
  16. 74HC595移位寄存器的使用
  17. 攻城掠地服务器维护到几点,攻城掠地玩法全解秘
  18. PyTorch:torch.nonzero——非零元素的定位
  19. 美女画廊(点击上面的图片下面进行显示)
  20. 获取手机机身和外置SD卡存储容量的方法

热门文章

  1. LTE/NR用户接入过程笔记
  2. SDN/NFV 网络技术系列文章
  3. Linux 操作系统原理 — loop 伪设备
  4. 用 C 语言开发一门编程语言 — 交互式解释器
  5. Altium Designer原理图模板设计
  6. 信号编程之sigaction函数和sigqueue函数
  7. kubernetes入门(06)kubernetes的核心概念(3)
  8. Django部署(Apache)
  9. 39[dropbox etc]
  10. 常见的浏览器兼容问题