Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >防止超过最大回流深度

防止超过最大回流深度
EN

Stack Overflow用户
提问于 2015-05-31 13:33:20
回答 4查看 1.8K关注 0票数 0

我正在尝试制作一个小脚本,并以一种高效的方式来完成它,其中包括调用内部的函数。但是,这会给出消息"RuntimeError:在获取对象的str时超过了最大递归深度“。

我试图让程序在达到此目标之前退出,但它似乎没有完成这项工作。我想知道是否有任何方法来停止程序在一定数量的运行,这样这个错误不会发生。下面是我试图解决这个问题的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
n = 0
def cycle(b,n):
    total = 0
    for i in str(n):
        for y in i:
         total+=int(y)**b
    n+=1
    print(total)
    if n == 10:
     sys.exit()
    else:
     cycle(b,total)
cycle(2,562)

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-05-31 13:40:24

尝试输入计数器并避免给出令人困惑的变量名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
def cycle(b,n, counter):
    total = 0
    for i in str(n):
        for y in i:
         total+=int(y)**b
    counter+=1
    print(total)
    if counter == 10:
     sys.exit()
    else:
     cycle(b,total,counter)
cycle(2,562,0)

在这里跑。

票数 2
EN

Stack Overflow用户

发布于 2015-05-31 13:46:21

递归调用函数可能很方便,但显然效率不高(至少在您正在使用的python的实现中是这样,因为您得到了这个错误)。

然而,您要做的,即限制递归深度,已经发生了什么,因为您得到了一个与递归深度相关的运行时错误。

为什么不直接在更高的级别捕捉运行时错误呢?

票数 0
EN

Stack Overflow用户

发布于 2015-05-31 13:49:16

快乐的数字(这就是你正在做的) 结束于1或在周期4,16,37,58,89,145,42,20,4,.。所以,当你到达1或4的时候,就停止吧。不过通常情况下,如果你的递归太深,你应该考虑一个迭代解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30562935

复制
相关文章
递归最大深度
题外话:由于递归深度可控,一般写类似递归的方法时尽量使用迭代器,例如Fibonacci数列,在python高级中我会把迭代器实现Fibonacci数列的方法贴出来,而不是用递归。 递归深度尽量不去修改,用起来也会很绕。下面我贴出来如何测试出本机递归深度: def func(num): if num == 1: return 1 else: return num * func(num-1) print(func(998)) # 这台机子的递归最大深度
汪凡
2018/05/29
6710
重绘与回流_html回流重绘
浏览器在渲染一个页面时,会将页面分为很多个图层,图层有大有小,每个图层上有一个或多个节点。 也就是我们各种各样的Dom标签
全栈程序员站长
2022/11/01
1.4K0
重绘与回流_html回流重绘
iptables回流方法
遇到的问题:私网内要被访问的(对外网提供服务的)机器这里表示为:私网服务器,它已经通过端口映射功能可以通过公网IP被访问。但是其自身和私网内的其他机器却不能通过公网IP访问这台服务器。 要实现的目标:私网内的机器可以通过其公网IP访问私网内的其它机器或者自身机器。 解决方法: PREROUTING -s 私网网段 -d 公网IP -j DNAT --to-destination 私网服务器地址 POSTROUTING -s 私网网段 -d 私网服务器地址 -j SNAT --to-source 私网网关
用户2135432
2018/06/04
3.2K1
回流重绘
HTML默认是流式布局,css与js会打破这种布局,改变DOM的几何属性与外观属性。在绘制时根据渲染树布局,再根据布局绘制,这就是回流重绘。
岳泽以
2022/11/21
6390
括号的最大嵌套深度
如果字符串满足以下条件之一,则可以称之为 有效括号字符串**(valid parentheses string**,可以简写为 VPS):
利刃大大
2023/04/12
2990
java 栈 最大深度理解
由此可以看出,局部变量表内容越多,栈帧越大,栈深度越小。 知道了栈深度,该怎么用呢?对JVM调优有什么用呢?
用户1205080
2019/01/23
1.6K0
回流和重绘
我们要明确页面在文档加载完成之后到完全显示中间的过程是 根据文档生成DOM树(包括display:none的节点) 在DOM树基础上根据节点的几何属性(margin/padding/width/height等)生成render树(不包括display:none、head节点但会包含visibility:hidden节点) 在render树基础上进行进一步渲染包括color,outline等样式 reflow: 当render树中的一部分或者全部因为大小边距等问题发生改变而需要重建的过程叫做回流 rep
念念不忘
2019/03/29
8800
浏览器重绘与回流
重绘与回流是浏览器渲染的时候进行的操作,当页面内容发生改变的时候,就会触发重绘或者回流
WindRunnerMax
2020/08/27
1K0
深度优先遍历--最大的岛屿
问题描述:给定一个二维矩阵,0表示水,1表示陆地,一个岛屿是指相邻的上下左右的陆地面积,求最大的岛屿
西西嘛呦
2020/08/26
3430
今日头条超过腾讯新闻?或成为国内最大资讯平台
继BAT之后,TMD三个小巨头崛起了,其中这个T就指的是今日头条。通过几年的发展,今日头条已经成为国内最大的资讯平台之一。原本,今日头条落后于腾讯新闻。毕竟,腾讯新闻有微信每天的推送,每日都可以触达亿万用户。最近,根据极光大数据发布的《2018年Q1移动互联网行业数据研究报告》,今日头条以24.2%的渗透率位列第一,以微弱优势超过了腾讯新闻。在我的记忆中,这好像也是腾讯新闻首次被别的资讯APP超越。并且,根据极光大数据的报告显示:今日头条的DAU已经过亿,成为了名副其实的国民级应用。这下马化腾应该不高兴了吧!
光荣与梦想1987
2018/09/12
4K0
DOM优化之重绘和回流
浏览器内核中的JS 引擎和渲染引擎是独立存在的,当我们用JS去操作DOM时,本质上是JS引擎和渲染引擎之间进行的“跨界交流”。
九旬
2020/10/23
9020
geotrellis使用(四十)优雅的处理请求超过最大层级数据
前言 要说清楚这个题目对我来说可能都不是一件简单的事情,我简单尝试。 研究 GIS 的人应该都清楚在 GIS 中最常用的技术是瓦片技术,无论是传统的栅格瓦片还是比较新颖的矢量瓦片,一旦将数据切好瓦片就会造成其层级固定,假如说 0 - 11 级,请求此层级范围内数据的时候能够正常响应,但是当用户请求超过最高级(假如为 12 )的时候该如何处理呢?传统方式只能返回 404 ,即显示空白数据,然而有没有更好的方式呢,能够使得用户在请求超过最高级数据的时候能够优雅的并且正确的返回数据而不是直接 404。这个问题可以
魏守峰
2018/05/02
8770
geotrellis使用(四十)优雅的处理请求超过最大层级数据
NAT 回流数据流向解析
内网Web Server 和 Ftp Server 需要将端口映射到公网 221.6.78.169 对外提供服务,其中Web 主机IP:192.168.1.12 端口443;Ftp 主机IP:192.168.99.51 端口8099;
Kevin song
2021/07/05
2.9K0
NAT 回流数据流向解析
Spring Cloud Feign接口返回流
身无彩凤双飞翼,心有灵犀一点通。 服务提供者 @GetMapping("/{id}") public void queryJobInfoLogDetail(@PathVariable("id
java干货
2021/02/19
2.2K0
Spring Cloud Feign接口返回流
紧接着!!信号回流路径。
高速数字信号在传输时,信号的流向是从驱动器沿PCB传输线到负载,再由负载沿着地或电源通过最短路径返回驱动器端。这个在地或电源上的返回信号就称信号回流路径。
crazy_hw
2022/08/29
2870
紧接着!!信号回流路径。
leetcode之括号的最大嵌套深度
这里用stack来匹配括号,对于左括号执行进栈操作,对于右括号先计算最大的深度,然后再出栈。
code4it
2020/10/28
1.2K0
leetcode之括号的最大嵌套深度
二叉树最大深度
思路:每一次把当前层的节点都放入队列中,记录当前层上存在几个节点,然后再次进行循环,把队列中的元素挨个出队,每有一个元素出队,就判断他有没有左右子树,如果有就把左右子树的节点放入队列中,队列中元素出队个数就是记录当前层数上的节点个数。没当一层上的节点都出队完,就相当于此树存在一层,用一个变量记录层数。
大忽悠爱学习
2021/04/01
2960
二叉树最大深度
PHP上传文件超过文件最大限制导致无法上传成功
     最近在学习《HeadFirst PHP & MySQL》一书的第5章“使用存储在文件中的数据”,做一个文件上传的应用时,出现了错误,就是文件无法成功上传。这个问题困扰了我很久,不过还好最后终于解决了。原因是我上传的图片文件大小超过了HTML 表单中MAX_FILE_SIZE 选项指定的值32768Bytes即32KB导致无法上传成功。
ccf19881030
2019/04/24
1.9K0
PHP上传文件超过文件最大限制导致无法上传成功
深度优先遍历--最大路径和
对于每一个节点而言,都有一个停值和不停值,当前节点的停值=max(左孩子停值,左孩子不停值,右孩子停值,右孩子不停值,左孩子不停值+右孩子不停值+当前节点的值);
西西嘛呦
2020/08/26
4620
Python的最大递归深度错误 “max
  今天在写爬虫的时候,发现了一个事情,使用str方法强制转换一个BeautifulSoup对象成字符串的时候报错了,提示是“maximum recursion depth exceeded while calling a Python object”,意思大致是“当调用该对象超过最大递归深度”
py3study
2020/01/08
1.4K0

相似问题

最大深度超过

17

超过最大递归深度

23

最大更新深度超过

12

最大递归深度超过

16

码头最大深度超过

218
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文