草庐IT

RECURSION

全部标签

python - 在指定的分离度内交 friend

全部。我是一个非常非常新的程序员。我目前选择的语言是Python,我觉得我对它有不错的感觉。我刚刚开始学习递归。(顺便说一句,如果有人可以推荐这方面的好指南,请告诉我!)众所周知,这个问题非常初级,我发布的代码非常非常错误。无论如何,我正在尝试编写一个函数,让所有的friend都在指定的度数内。如果我通过0作为学位,我只想要我自己。如果我通过它1,我想要我和我所有的friend。2、我要我,我的friend,还有他们所有的friend,等等。我已经尝试了很多不同的方法来做到这一点,但都没有奏效。我试图想象它在理论上应该如何工作,但我也不太明白,因为我在这方面经验不足。也许这里的好心人可

python - Python 中的递归?运行时错误 : maximum recursion depth exceeded while calling a Python object

这个问题在这里已经有了答案:WhatisthemaximumrecursiondepthinPython,andhowtoincreaseit?(19个回答)关闭8个月前。我的代码还有另一个问题。我正在用Vpython编写我的第一个程序,我必须模拟混合两种气体。首先,我遇到了边界问题,但是现在当球(代表气体粒子)停留在边界内时,就会出现不同的错误。几秒钟后,我收到一个错误,显示在我函数的源代码下方。代码:defMovingTheBall(listOfBalls,position,numCell,flagOfExecution):flag=0ifflagOfExecution==0:po

python - 斐波那契调用图中的值分区(调用图是二叉树)

我有一个正在进行的研究斐波那契数列的项目,这只是一个个人项目,我创建了一个二进制文件treeclass这构成了斐波那契调用图的二叉树,因此对于f(3)我生成树:我想为我的treeclass创建一个方法get_partitions()遍历树以生成rootvalue的分区,我在这里将顺序不同的加法视为不同部分;所以这里的例子是f(3),get_partitions()方法将遍历树并产生:Partion1:2,1Partion2:2,1,0Partion3:1,1,1Partion4:1,1,1,0Partion5:1,0,1,1Partion6:1,0,1,1,0因为最终我想枚举斐波那契数

python - 覆盖继承的默认支持对象(如 dict、list)的嵌套 JSON 编码

我已经设置了一些我自己的类,它们是字典的子类,以像它们一样工作。然而,当我想将它们编码为JSON(使用Python)时,我希望它们以一种我可以将它们解码回原始对象而不是字典的方式进行序列化。所以我想支持我自己的类(继承自dict)的嵌套对象。我曾尝试过类似的东西:classShadingInfoEncoder(json.JSONEncoder):defencode(self,o):iftype(o).__name__=="NodeInfo":return'{"_NodeInfo":'+super(ShadingInfoEncoder,self).encode(o)+'}'eliftyp

python - 递归地删除整数的元素

我的参数,n是一个整数形式的电话号码。我想使用递归返回整数中的前三个数字。我已将整数转换为单个数字字符的列表,我试图一遍又一遍地删除最后一个数字,直到只剩下最后三个,但我仍然不知道如何重复它.defareaCodes(n):n=str(n)n=list(n)deln[-1]#n=reduce(opperator.add,n)n=''.join(n)n=int(n)returnn我知道我应该以某种方式在返回中重复名称,但是因为n不是我可以用来重复的整数。我该怎么办? 最佳答案 这样的事情怎么样?defareaCodes(n):#ifn

python - 递归错误 : maximum recursion depth exceeded in comparison

我希望这不是重复的,如果是这样,我深表歉意,但是已经进行了一些谷歌搜索并查看了堆栈溢出,但目前还没有发现任何东西......MCVE我知道如果一个函数不断地调用自己,这不可能无限期地发生而不发生堆栈溢出,因此在一定限制后会引发错误。例如:deffoo():returnfoo()foo()这会导致以下错误:RecursionError:maximumrecursiondepthexceeded但是,如果我编写如下函数:defcount(n):ifn==0:return0else:returncount(n-1)+1count(1000)我得到一个稍微不同的错误:RecursionErro

python - 在python中装饰递归函数

我很难理解装饰递归函数的工作原理。对于以下代码段:defdec(f):defwrapper(*argv):print(argv,'Decorated!')return(f(*argv))return(wrapper)deff(n):print(n,'Original!')ifn==1:return(1)else:return(f(n-1)+n)print(f(5))printdec_f=dec(f)print(dec_f(5))printf=dec(f)print(f(5))输出是:(5,'Original!')(4,'Original!')(3,'Original!')(2,'Ori

Python:打印自定义异常时超出最大递归深度

以下代码抛出RuntimeError:maximumrecursiondepthexceededwhilegettingthestrofanobject。我可以用两种不同的方式解决无限递归问题,但我不明白为什么每个修复都有效,因此不知道该使用哪个,或者哪个是正确的。classFileError(Exception):def__init__(self,filename=None,*a,**k):#Fix1:removesupersuper(FileError,self).__init__(self,*a,**k)self.filename=filenamedef__repr__(self

python - Python 中的递归生成器

我编写了一个函数来返回一个生成器,其中包含给定长度的子字符串的每个唯一组合,这些子字符串包含来自主字符串的超过n个元素。举例说明:如果我有“abcdefghi”和一个长度为2的探针,并且每个列表的阈值为4个元素,我想得到:['ab','cd','ef','gh']['ab','de','fg','hi']['bc','de','fg','hi']我第一次尝试解决这个问题涉及返回列表列表。这最终导致计算机内存溢出。作为粗略的辅助解决方案,我创建了一个执行类似操作的生成器。问题是我创建了一个调用自身的嵌套生成器。当我运行这个函数时,它似乎只是在内部for循环中循环,而实际上并没有再次调用它

python - 在 Python 类中使用属​​性导致 "maximum recursion depth exceeded"

这个问题在这里已经有了答案:Settingpropertycausesmaximumrecursiondepthexceeded(1个回答)关闭6年前。这是我为熟悉Python脚本中的@properties和setter功能而编写的测试类:classTest(object):def__init__(self,value):self.x=value@propertydefx(self):returnself.x@x.setterdefx(self,value):self.x=value问题是当我想从我的类中创建一个对象时,我遇到了以下错误:>>>t=Test(1)Traceback(mo