【Python】解决尾递归最大次数限制(报错代码)
昨晚执行一个Python递归程序,早上过来一看报错了: Process finished with exit code -1073741571 (0xC00000FD) 查看问题的根源在于递归导致的栈溢出,环境windows10、python3.6-64bit。 1. 测试最大递归代数,代码: <pre class="has"> def foo(n): if name == 'main': 执行结果: 执行到1860或者3222左右报错,最大代数不稳定。 2. 按照网络教程,进行尾递归改造,代码: <pre class="has"> def foo(n): def tramp(gen,arg): if name == 'main': 执行结果: 成功! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |