python如何停止递归


Posted in Python onSeptember 09, 2020

首先,在递归函数之外定义一个全局变量: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<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停止递归的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现合并两个数组的方法
May 16 Python
Python实现合并字典的方法
Jul 07 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
python一键去抖音视频水印工具
Sep 14 Python
对python:循环定义多个变量的实例详解
Jan 20 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
python与idea的集成的实现
Nov 20 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
python能做哪些生活有趣的事情
Sep 09 #Python
Python 连接 MySQL 的几种方法
Sep 09 #Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 #Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 #Python
Python列表推导式实现代码实例
Sep 09 #Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 #Python
pytorch使用horovod多gpu训练的实现
Sep 09 #Python
You might like
yii框架搜索分页modle写法
2016/12/19 PHP
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
python实现简易云音乐播放器
2018/01/04 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
使用django自带的user做外键的方法
2020/11/30 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
小学生防溺水广播稿
2014/01/12 职场文书
授权收款委托书范本
2014/10/10 职场文书
金砖之国观后感
2015/06/11 职场文书
公司酒会致辞
2015/07/30 职场文书
开学第一天的感想
2015/08/10 职场文书
筑梦中国心得体会
2016/01/18 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
详解Java实践之适配器模式
2021/06/18 Java/Android
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js