python maximum recursion depth exceeded解决方式

news/2024/11/8 6:33:34/
用Python写了一个递归脚本,脚本如下

 

def fact(n):return fact_iter(n, 1)def fact_iter(num, product):if num == 1:return productreturn fact_iter(num - 1, num*product)


执行:fact(1000)

 

报错如下:

  File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 12, in fact_iterreturn fact_iter(num - 1, num*product)File "D:/python/spider/qq-music-spider/tt.py", line 10, in fact_iterif num == 1:
RecursionError: maximum recursion depth exceeded in comparison

报错提示超过最大递归深度。

 

该问题解决方式为加入如下脚本:

import syssys.setrecursionlimit(1000000) #例如这里设置为一百万

执行:fact(1000),能正确出结果了。

 

 

 

但是,好像只可以执行到 fact(3930) 左右。

执行:fact(3930),报错如下:

Process finished with exit code -1073741571 (0xC00000FD)

该问题可参考这篇博文,此处不再做具体讨论:

 

https://blog.csdn.net/vblittleboy/article/details/6613815

 


http://www.ppmy.cn/news/142791.html

相关文章

ORA-39087,ORA-39070,ORA-39002

ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-39087: 目录名 DUMP_DIR 无效 先检查SELECT * FROM dba_directories;里面directory和主机下面对应的位置有没有创建好 再检查当前的账户有没有权限 GRANT READ,WRITE ON DIRECTORY DUMP_DIR to xxxx; 再次执行成功。

JSR303

文章目录 一.引入二.实例需求三.环境搭建1.依赖引入2.常用注解 四.使用1.简单使用2.自定义错误信息3.添加多个字段错误信息回去4.改进5.全局异常处理 五.异常代码1.图解2.实例 六.分组校验1.引入2.groups属性3.修改实体类3.controller修改 一.引入 日常开发中,需要…

ORA-39002

oracle 11g执行expdp导出脚本时报错: ORA-39002:操作无效 ORA39070:无法打开日志文件 ORA-29283:文件操作无效 ORA-06512:在“SYS.UTL_FILE”,line 536 ORA-29283:文件操作无效 解决方式: 这是由于导出的目录不存在,需要新建directory相关目…

as3930工作流程简述

奥地利微电子公司扩展旗下射频产品线,推出单通道、低功耗、低频唤醒接收器AS3930,以最低的电流消耗实现了最高灵敏度和业内最大范围。 AS3930全面优化了功耗、灵敏度和可编程性,支持广泛使用的125 kHz频带,适合各种应用。 AS3930芯片里包括一个接收通道,一个频率探…

【渝粤题库】国家开放大学2021春3930事故管理与应急处置题目

试卷代号:3930 2021年季学期期末统一考试 事故管理与应急处置 试题(开卷) 2021年7月 一、单选题(每题3分,共30分) 1.《突发事件应对法》规定,国家建立统一领导、综合协调、分类管理、分级负责、…

机器视觉怎么对陶瓷板的外观尺寸进行自动检测?

随着工业自动化的不断发展,机器视觉技术在制造业中的应用越来越广泛。在陶瓷板行业中,机器视觉技术可以用于自动检测陶瓷板的外观尺寸,提高生产效率和产品质量。下面我们来介绍机器视觉如何对陶瓷板的外观尺寸进行自动检测。 一、检测原理 …

离散数学-数理逻辑

《离散数学》是计算机专业的一门十分重要的专业基础课。离散数学作为有力的数学工具对计算机的发展、计算机研究起着重大的作用。目前,计算机科学中普通采用离散数学中的一些基本概念、基本思想和基本方法。通过本课程的学习,掌握数理逻辑、集合论、代数…

linux(system V标准)进程间通信2

目录: 1.回顾上一节的代码 2.shmat、shmdt的使用 3.共享内存的大小为什么最好设置成4096字节的整数倍呢? 4.操作系统如何管理共享内存的 ----------------------------------------------------------------------------------------------------------…