博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识递归
阅读量:4455 次
发布时间:2019-06-07

本文共 1085 字,大约阅读时间需要 3 分钟。

了解递归

在函数中调用自身函数,最大递归深度默认是997或998  ——是python从内存角度出发做的限制

如果递归次数太多,就不合适使用递归来解决问题

递归的确定:战内存

递归的优点:会使代码简单

修改递归的最大深度

import syssys.setrecursionlimit(100000)  #数字内容可以随意修改

例1、

def age(n):    if n == 4:        return 40    elif n > 0 and n < 4:        return age(n+1)+2print(age(1))    # 8、此处调用了age(1),所以打印出age(1)  46"""第一次执行:def age(1):     if 1 == 4:        return 40    elif 1 > 0 and 1 < 4:        return age(2)+2   #此时会先执行age(1+1),将age(2)返回再次执行   7、此时age(2)为46,将值返回给age(1)print(age(1)) # 1、第一次调用,首先先执行age(1),此时n=1   第二次执行:     def age(2):    if 2 == 4:        return 40    elif 2 > 0 and 2 < 4:        return age(3)+2 # 2、将age(3)返回函数再次执行  6、此时age(3)为 44,将值回给age(2)第三次执行:     def age(3):    if 3 == 4:        return 40    elif 3 > 0 and 3 < 4:        return age(4)+2 # 3、将age(4)返回函数再次执行   5、此时值为 42 ,将值返回给age(3)        第四次执行:     def age(4):    if 4 == 4:            return 40   # 4、执行结束,因为谁调用函数,值就会返回给谁,所以40会返还给第三次执行中调用它的函数    elif 3 > 0 and 3 < 4:        return age(3+1)+2          print(age(1))

 

能看到递归

能知道递归的应用场景

初识递归

算法--二分查找法

三级菜单--递归实现

转载于:https://www.cnblogs.com/wanglan/p/9558303.html

你可能感兴趣的文章
hadoop队列管理(指定queue跑程序)
查看>>
Lucene 自动补全
查看>>
hibernate建表默认为UTF-8编码
查看>>
as3+php上传图片的三种方式
查看>>
jquery实现奇偶行赋值不同css值
查看>>
关于Git
查看>>
css基于文件格式使用不同的样式
查看>>
QTP自传之对象
查看>>
从Windows Phone 8 Developer Docs整理的关于XNA记录(Preview)
查看>>
14 协程:微线程
查看>>
Linux常用命令
查看>>
hdu4801 PocketCube 2阶魔方
查看>>
AT命令text模式发送中文
查看>>
Random Initialization for K-Means
查看>>
defineProperty
查看>>
《那些年啊,那些事——一个程序员的奋斗史》——58
查看>>
CString与char* 相互转换
查看>>
数据区的内存模型
查看>>
E20190404-hm
查看>>
IIS负载均衡的NLB解决方案
查看>>