python如何停止递归
首先,在递归函数之外定义一个全局变量:isGo,布尔型,初始值为真,意思是可以继续循环。
接着,在递归循环的一开始就设置判断机制,一旦isGo的值为假,就层层阻止,直到退出所有层的循环,从而达到强制退出递归的目的。
if(isGo==false){return}
最后,在递归的“满足条件”代码中增加如下语句:
isGo =false;
下面给出修改后的代码:
var isGo:Boolean=truefunctionarr_all(pre:Array,nex:Array) {if(isGo==false){return}var j:uint=nex.length;if (j==1) {var t=[];for (var i:uint=0;i<pre.length; i++) {t.push(pre[i]);}t.push(nex[0]);isGo =false;returninfo.appendText('n'+pc(t));//..out........}for (var k:uint=0; k<j; k++) {var p:Array=pre.slice();var s:Array=nex.slice();p.push(s.splice(k,1));arr_all(p,s);}}
问题补充:
python停止函数中的递归
我有一个函数,它的工作方式类似于树遍历,但它会遍历字典。dict中的每个键在列表中都有两个项,因此结构类似于二叉树。我试图找到一个特定的键,同时从一个给定的键开始,当我找到键时,我想停止我的功能并返回我所处的深度。我在dict中搜索find the key,但递归函数不会在return语句处停止。 我的职能:
def count(dict, key, depth): if key is not None: if key == 42: return depth return count(map, map[key][0], depth+1) return count(map, map[key][1], depth+1)
到此这篇关于python如何停止递归的文章就介绍到这了,更多相关python停止递归的方法内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. js获取今天、昨天、明天的日期函数代码2. Python3.8 + Tkinter: Button设置image属性不显示的问题及解决方法3. 气象 XML 数据源应用程序开发指南-简介4. 一文掌握ajax、fetch和axios的区别对比5. EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常6. .Net core Blazor+自定义日志提供器实现实时日志查看器的原理解析7. 前端设置cookie之vue-cookies使用及说明8. PHP对接阿里云虚拟号的实现(号码隐私保护)9. Python Django路径配置实现过程解析10. Java SQL注入案例教程及html基础入门
