




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计入门Python语言……函数……第4章函数的嵌套调用与递归函数的嵌套调用12函数的递归调用函数的嵌套调用嵌套调用,是指在函数内又调用其他函数。main()……………a函数…………b函数……………①③④⑤⑥⑦②函数的嵌套调用例4-12:编写程序,输入m,n,求组合数:设计函数factorial(n),用于求n!;设计函数combination(m,n),用于求组合数;设计主函数main(),输入m、n的值,调用函数combination(m,n),求一个组合数。函数的嵌套调用例4-12:编写程序,输入m,n,求组合数:设计函数factorial(n),用于求n!;def
factorial(n):fn=1
foriin
range(1,n+1):fn*=i
returnfn函数的嵌套调用设计函数factorial(n),用于求n!;def
factorial(n):fn=1
foriin
range(1,n+1):fn*=i
returnfn设计函数combination(m,n),用于求组合数;def
combination(m,n):cmn=factorial(m)//(factorial(n)*factorial(m-n))
returncmn函数的嵌套调用def
factorial(n):fn=1
foriin
range(1,n+1):fn*=i
returnfndef
combination(m,n):cmn=factorial(m)//(factorial(n)*factorial(m-n))
returncmn设计主函数main(),求一个组合数。m=eval(input("m="))n=eval(input("n="))
print("m,n的组合数为",combination(m,n))main()#调用主函数执行程序defmain():
函数的嵌套调用例4-12:编写程序,输入m,n,求组合数:函数的嵌套调用例4-12:编写程序,输入m,n,求组合数:函数的递归调用当一个函数直接或间接的调用它自身时,称为函数的递归调用。
自己调用自己的函数,称为递归函数,递归函数一定要有递归条件和递归出口;
递归条件,也称递归体,就是函数调用自己,将大问题分解为类似的小问题;
递归出口,递归函数必须要有一个或几个明确的递归结束条件。函数的递归调用例4-13:编写程序,用递归计算n!将n!表达成递归函数的形式:
n!=n×(n-1)!,将求n!转为求(n-1)!,(n-1)!又转为求(n-2)!,……,直至0!=1,这个过程称为“递推”;当递推到“递归出口”时,就开始回归,通过0!求出1!,通过1!求出2!,……,最后通过(n-1)!求出n!,这个过程称为“回归”。函数的递归调用例4-13:编写程序,用递归计算n!def
factorial(n):
if
n==0:
return
1
#递归出口
else:
returnn*factorial(n-1)#递归条件n=eval(input("请输入一个正整数:"))print("{}!={}".format(n,factorial(n)))函数的递归调用例4-13:编写程序,用递归计算n!函数的递归调用例4-13:编写程序,用递归计算n!上述计算5!的递归过程为:函数的递归调用递归是计算机科学的一种重要算法,也是求解问题的一种重要思想;递归的优点是,定义简单,逻辑清晰,利用递归求解问题,可以得到一个清晰、简洁的解决方案,使代码看起来更加整洁、优雅,易于将复杂问题分解成更简单的子问题;递归的缺点是,递归的逻辑很难调试、跟进,递归算法求解问题的运行效率相对较低;任何用递归求解的问题,一般来说都能用循环来求解,通常,哪种能设计出更自然地反映问题本质的直观解决方案,就选用哪种方法。函数的递归调用递归是计算机科学的一种重要算法,也是求解问题的一种重要思想;递归的优点是,定义简单,逻辑清晰,利用递归求解问题,可以得到一个清晰、简洁的解决方案,使代码看起来更加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情绪管理在教育心理学中的应用
- 教育与科技融合的政策环境分析
- 创新应用教育技术助力特殊儿童学习与发展
- 教育与娱乐融合的婴幼儿产品市场趋势分析
- 教育小镇的全方位教育资源配置
- 中职数例课件
- 大数据驱动的精准教学模式在西安的实施与成效
- 从教育心理学角度看学生行为问题及应对
- 广东省惠州市惠港中学2025届物理高一下期末考试模拟试题含解析
- 浙江省湖州、衢州、丽水2025届高二物理第二学期期末监测试题含解析
- 色彩的魅力:艺术、科学与设计的交融
- 2025广州市荔湾区辅警考试试卷真题
- 一季度安委会汇报材料
- 贵州省遵义市2024年八年级《数学》上学期期末试题与参考答案
- 产品质量问题追溯制度
- TACE围手术期的护理
- GB/T 320-2025工业用合成盐酸
- 山东省青岛市青岛2025年第五十八中学一模数学试题含答案
- 在2025年国企党风廉政建设会议上的讲话
- 老年人误吸的预防团体标准
- 高中数学第三章不等式章末复习提升省公开课一等奖新课获奖课件
评论
0/150
提交评论