百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

外婆都能学会的Python教程(十二):Python函数递归

off999 2024-12-08 17:27 22 浏览 0 评论

前言

Python是一个非常容易上手的编程语言,它的语法简单,而且功能强大,非常适合初学者学习,它的语法规则非常简单,只要按照规则写出代码,Python解释器就可以执行。

下面是Python的入门教程函数递归的使用,太简单了,外婆看完都学会了,你也来看看吧!

函数递归

  • 定义:函数自己调用自己,称为函数递归。
  • 链条:计算过程存在递归链条。
  • 基例:存在一个或多个不需要再次递归的值。

递归的优缺点

  • 优点:代码简洁,逻辑清晰。
  • 缺点:递归调用的过程中会占用大量的内存,效率低下。
  • 递归的应用场景:树形结构、图形结构等。
  • 例子:n的阶乘
def fact(n): 
	if n == 1: 
		return 1 
	return n * fact(n - 1)
  • 递归的调用过程:
fact(5) 
5 * fact(4) 
5 * (4 * fact(3)) 
5 * (4 * (3 * fact(2))) 
5 * (4 * (3 * (2 * fact(1)))) 
5 * (4 * (3 * (2 * 1))) 
5 * (4 * (3 * 2)) 
5 * (4 * 6) 
5 * 24 
120
  • 用递归实现字符串反转
def reverse(s): 
	if s == "": 
		return s 
	return reverse(s[1:]) + s[0]
  • 调用过程如下:
reverse("hello") 
reverse("ello") + "h" 
(reverse("llo") + "e") + "h" 
((reverse("lo") + "l") + "e") + "h" 
(((reverse("o") + "l") + "l") + "e") + "h" 
(((("o") + "l") + "l") + "e") + "h" 
"olleh"
  • 递归实现斐波那契数列 问题描述:斐波那契数列在数学上是由0和1开始,之后的斐波那契系数就是由之前的两数相加而得出,例如:0、1、1、2、3、5、8、13、21、34、……
  • 这里我们以兔子繁殖为例,f(1)=f(2)=1,那么一般情况下,我们可以得出f(n)=f(n-1)+f(n-2)。
def fib(n): 
	if n == 1 or n == 2: 
		return 1 
	return fib(n - 1) + fib(n - 2)
  • 调用过程如下:
fib(5) 
fib(4) + fib(3) 
(fib(3) + fib(2)) + (fib(2) + fib(1)) 
((fib(2) + fib(1)) + 1) + (1 + 1) ((1 + 1) + 1) + (1 + 1) 
5

结束寄语

函数递归是不是很简单?

恭喜你看完这篇Python教程,你已经超过99%的人了,关注我带你快速入门Python,提高工作效率!



喜欢就关注我给我点个赞吧,精彩内容会第一时间推送给你[心][谢谢]。

有问题可以回复或私信我,看到我会给你耐心解答[给力]!

相关推荐

当前显卡排名(当下显卡排行)

101、Irispro5802、Iris62002、Iris52004、UHD630/6205、HD6306、HD5307、HD46008、HD44009、HD420010、HD40...

win10专业版激活变成企业版(win10专业版激活变成企业版怎么办)

win10永久激活密钥很少,一旦网上有分享,等你拿到时就超过期限了,一般是要购买。激活win10系统可以使用激活工具:win10激活工具下载一、win10专业版产品密钥NXRQM-CXV6P-PBGV...

ghostwinxp下载纯净版(ghost win7纯净版下载)

可以下载的,现在官网和其他网站上都可以下载xp原版的。可以通过以下步骤下载我的世界游戏到xp系统中:1.首先打开你的浏览器软件,搜索关键字“我的世界xp版下载”,找到可靠下载地址;2.从下载页面下...

惠普完整版驱动(惠普最新驱动)

惠普官方的标准操作:HP1050安装驱动步骤:一:准备:拿出驱动光盘放入光驱或到HP官网下载完整版驱动。二:不要插USB数据线或插上线打印机电源不要开,安装完整版驱动,当程序提示插入USB数据线时,插...

浏览器最好用的(浏览器最好用的插件)

一、谷歌浏览器谷歌浏览器是公认最好用的,这个可以从市场占有率看出端倪,超过三分之二的用户使用谷歌浏览器。Chrome浏览器以简洁快速著称,不管是普通用户还是开发人员,chrome浏览器都是首选。Chr...

fast路由器6位初始密码(fast路由器的密码)

答:fast路由器初始密码是admin;新款的迅捷无线路由器,管理界面没有初始密码。查看迅捷无线路由器底部标签,标签上标注了admin,说明初始密码就是admin;如果没有,说明该路由器没有初始密码。...

硬盘恢复软件哪个好(硬盘 恢复软件)

迷你兔数据恢复工具:支持恢复硬盘丢失的数据Pc3000数据恢复软件是一款非常专业的硬盘修复工具,能够对电脑硬盘资料数据进行修复,通过使用这个软件可以解决硬盘数据丢失故障,是一个用户进行硬盘资料修复好帮...

十大品牌监控摄像头排名(十大品牌监控摄像头排名第一)

答:1、华为/HUAWEI9.92、小米/MI9.63、罗技/Logitech9.64、海康威视/HIKVISION9.25、乔安/Jooan9.26、普联/TP-LINK9.27、乐橙8.98、萤石...

360手机助手老旧版本大全(360手机助手 老版本)

在设置里面找到历史记录就可能查看360手机助手·换机神器是安卓系统的换机软件,因为苹果的换机软件是爱思。1、打开360手机卫士,登陆账号,点击账号。2、进入个人中心,点击账户安全,在密保工具中,点击解...

系统应用工程师(系统工程的应用)

信息软件系统工程师有前途,毕业以后可以从事软件开发,软件系统的维护,运营等等,和计算机有关的工作内容,因为计算机专业可以说是一个非常热门的专业,很多的大型企业公司基本上都是以计算机研发为主的,薪资福利...

qq恢复系统常见问题(qq恢复系统常见问题及答案)

QQ好友恢复系统一直显示服务器频繁有可能是系统的问题,你的qq重新更新一下,或者你卸载了重新下载一下就有可能好了。您好,很高兴为您解答:您可以试试清空下IE内存,然后关掉不必要的程序,尽量在电脑运...

win10自带的office不见了(win10自带的office在哪个文件夹)

win10系统的office在电脑硬盘office的安装目录里,具体打开安装目录的操作如下:1、首先我们右键点击word,打开方式,选择默认程序打开。2、在默认框打钩,点击【浏览】。3、打开你安装of...

华为官网序列号查询入口(华为官网序列号查询入口手写笔)
  • 华为官网序列号查询入口(华为官网序列号查询入口手写笔)
  • 华为官网序列号查询入口(华为官网序列号查询入口手写笔)
  • 华为官网序列号查询入口(华为官网序列号查询入口手写笔)
  • 华为官网序列号查询入口(华为官网序列号查询入口手写笔)
手机主题美化包(手机主题美化包下载)
  • 手机主题美化包(手机主题美化包下载)
  • 手机主题美化包(手机主题美化包下载)
  • 手机主题美化包(手机主题美化包下载)
  • 手机主题美化包(手机主题美化包下载)
w10系统我的电脑在哪里(windows10 我的电脑在哪)

首先,打开Windows10系统,可以看到当前桌面上没有“我的电脑”。二、然后,在桌面上鼠标右键都加空白处,在右键菜单中选择“个性化”,点击打开。三、然后,在窗口中左侧选择“更改桌面图标”,点击打开。...

取消回复欢迎 发表评论: