《Python程序设计案例教程》 课件 5.4函数的嵌套和递归_第1页
《Python程序设计案例教程》 课件 5.4函数的嵌套和递归_第2页
《Python程序设计案例教程》 课件 5.4函数的嵌套和递归_第3页
《Python程序设计案例教程》 课件 5.4函数的嵌套和递归_第4页
《Python程序设计案例教程》 课件 5.4函数的嵌套和递归_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程基础函数的嵌套和递归一、函数的嵌套二、递归函数函数在定义时还可以在其内部嵌套定义另外一个函数,此时嵌套的函数称为外层函数,被嵌套的函数称为内层函数。【例】在outer()函数中嵌套定义inner()函数。defouter(a,b):#定义外层函数outer()result=a+bprint("我是外层函数")print(result)

definner():#定义内层函数inner()print("我是内层函数")inner()#outer()函数外调用inner()函数一、函数的嵌套注意:inner()函数只在定义开始到outer()函数结束范围内有效Python还允许在一个函数中调用另外一个函数,这就是函数的嵌套调用。【例】函数的嵌套调用。defouter(a,b):#定义外层函数outer()result=a+bprint("我是外层函数")print(result)definner():#定义内层函数inner()print("我是内层函数")inner()#调用函数inner()outer(1,2)一、函数的嵌套执行程序,运行结果如下所示。我是外层函数3我是内层函数函数在定义时可以直接或间接地调用其他函数。若函数直接或间接地调用自身,则这个函数被称为递归函数,Python支持函数的递归调用。直接递归调用间接递归调用

提示这两种递归调用都是无休止地调用自身。因此,为了防止无限递归,所有递归函数都需要设定终止条件。二、递归函数二、递归函数递归函数的一般定义格式如下:

def

函数名([参数列表]):

if边界条件:

rerun结果 else:

return递归公式【例】用递归函数求解n!(n为整数)。deffunc(num):ifnum==0:return1else:returnnum*func(num-1)num=int(input("请输入一个整数:"))result=func(num)print(f"{num}!=%d"%result)程序运行效果二、递归函数n!=1*2*3*…*n,可以分为以下两种情况:1.当n=0时,所得的结果为1。

边界条件2.当n>0时,所得的结果为n*(n-1)!。

递归公式阶乘n!deffunc(4):ifnum==0:return1else:return4*func(3)deffunc(3):ifnum==0:return1else:return3*func(2)deffunc(2):ifnum==0:return1else:return2*func(1)deffunc(1):ifnum==0:return1else:return1*func(0)deffunc(0):ifnum==0:return111264!=24二、递归函数通常使用递归函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论