python如何停止递归

avatar 2021年1月8日10:14:42 评论 145

首先,在递归函数之外定义一个全局变量:isGo,布尔型,初始值为真,意思是可以继续循环。

接着,在递归循环的一开始就设置判断机制,一旦isGo的值为假,就层层阻止,直到退出所有层的循环,从而达到强制退出递归的目的。

if(isGo==false){
return
}

最后,在递归的“满足条件”代码中增加如下语句:

isGo =false;

下面给出修改后的代码:

var isGo:Boolean=true
functionarr_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

问题补充:

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如何停止递归

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: