python递归上限,python统计递归次数

  python递归上限,python统计递归次数

  本文主要介绍了如何解决python递归函数和递归次数有限的问题,有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。

  

目录
递归函数和递归次数有限Sum: sum=n n(n-1) … 1求阶乘:n!=1x2x3…xn解决问题的方法是修改递归的次数。如何控制递归的次数?第一、第二和第三

  

递归函数及递归次数受到限制

  如果一个函数在内部调用自己,那么这个函数就是递归的。递归会反复使用自己,每递归一次,就越接近最终值。当一个问题可以由很多类似的小问题解决时,可以考虑使用递归函数。随着递归的深入,问题的规模应该会比上次缩小。返回函数的方法本身保证了连续递归,但是如果没有明确的结束条件,递归就会无限地继续下去。因此,当问题已经解决时,应该告诉函数结束递归,这需要明确的结束条件。

  常见的两个递归例子:求和、求阶乘n!

  

求和:sum=n+n(n-1)+…+1

  定义金额(n):

  如果编号为0:

  返回n sum(n-1)

  else:

  返回0

  new_sum=sum(10)

  打印(new_sum)

  #输出

  55

  

求阶乘:n!=1x2x3…xn

  定义阶乘(n):

  如果n==1:

  返回1

  else:

  返回n *阶乘(n-1)

  new_sum=阶乘(5)

  打印(new_sum)

  #输出

  120

  使用递归函数时,需要注意的是,递归次数的默认限制是1000,这样会导致堆栈溢出。

  例如

  定义金额(n):

  如果编号为0:

  返回1个总和(n-1)

  else:

  返回0

  new_sum=sum(1000)

  打印(new_sum)

  将报告重复错误:比较中超出最大重复深度的错误。

  

解决问题的办法是修改可递归的次数

  导入系统

  Sys.setrecursionlimit(1500)#递归数被修改为1500。

  定义金额(n):

  如果编号为0:

  返回1个总和(n-1)

  else:

  返回0

  new_sum=sum(1000)

  打印(new_sum)

  #输出

  1000

  修改递归次数的时候要注意修改递归次数是1500,递归深度达不到1500,也就是1400左右。默认递归次数为1000,递归深度小于1000,约为992。

  

如何控制递归的次数

  经常使用递归。虽然可以解决很多问题,但是缺点也很明显,不一定能跳出死循环。这种情况可以通过控制递归的次数来避免。

  Lua尝试了几种方法,

  

第一种

  在方法中定义变量计数:

  函数递归测试()

  当地时间=0

  如果乘以10,那么

  次数=次数1

  递归测试()

  目标

  如果times==0,则

  打印(“外圆”)

  目标

  目标

  执行,没有限制,因为局部变量每次都重置为0。

  

第二种

  本地递归次数=0

  函数recursionTest2()

  如果递归次数为10,则

  递归次数=递归次数1

  递归测试2()

  目标

  目标

  这个方法可以控制次数,但是变量需要在方法之外定义。在执行函数之前,这个变量需要设置为0,在递归方法中需要外包,比较繁琐。

  

第三种

  函数递归(str,t)

  str=str或“第一次”

  t=t或0

  t=t 1

  打印(字符串,t)

  如果t 10那么

  递归( times: ,t)

  目标

  如果t==1,那么

  打印(“外圆”)

  目标

  目标

  递归时,传入一个自增变量。当达到阈值时,递归停止。执行最外层时,不需要传递参数。默认值为0,可以根据t的值判断当前的递归层数,在最外层执行之前,可以在递归结束时做其他事情,一举两得。

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python统计字符串中某个元素出现的次数,python输入一个字符串,统计其中每个字符出现的次数
  • 对数据进行描述的统计方法称为描述性统计分析,python统计学分析
  • 统计整数二进制表示中1的个数,用python统计数字个数
  • Python表示字符串常量的方式有几种,python统计不同类型字符的个数
  • python 数值计算,用python统计
  • python统计词频实训报告,python英语词频统计
  • python统计双一流高校名单,Python排名
  • python统计平均分,python求一组数据的平均分
  • python 销售预测,python统计销售总额怎么做
  • python 递归遍历目录,python统计指定目录中文件及目录个数
  • python输出1~100的素数,并统计多少个,python统计素数个数
  • python统计缺失值个数,python缺失数据处理
  • python统计字符串英文字母个数,输入一个字符串分别统计数字和字母个数Python
  • python输入一组数字,采用逗号分隔,输出其中的最大值,用python统计整数出现次数
  • python统计单词出现次数最多的5个单词,python统计单词出现次数字典
  • 留言与评论(共有 条评论)
       
    验证码: