- 16
- 0
- 约1.45万字
- 约 92页
- 2022-06-18 发布于重庆
- 举报
递归的使用方法 微实例5.21:阶乘的计算。 根据用户输入的整数n,计算并输出n的阶乘值。 微实例5.21 m5.1CalFactorial.py 1 2 3 4 5 6 7 def fact(n): if n == 0: return 1 else: return n * fact(n-1) num = eval(input(请输入一个整数: )) print(fact(abs(int(num)))) 第五十七页,共九十二页。 递归的使用方法 第五十八页,共九十二页。 递归的使用方法 微实例5.32:字符串反转。 对于用户输入的字符串s,输出反转后的字符串。 解决这个问题的基本思想是把字符串看作一个递归对象。 1 2 def reverse(s): return reverse(s[1:]) + s[0] 第五十九页,共九十二页。 递归的使用方法 观察这个函数的工作过程。s[0]是首字符,s[1:]是 剩余字符串,将它们反向连接,可以得到反转字符串。执 行这个程序,结果如下 def reverse(s): return reverse(s[1:]) + s[0] reverse(ABC) ... RecursionError: maximum recursion depth exceeded 第六十页,共九十二页。 科赫曲线绘制 第六十一页,共九十二页。 科赫曲线绘制 自然界有很多图形很规则,符合一定的数学规律,例如, 蜜蜂蜂窝是天然的等边六角形等。科赫(Koch)曲线在众多经 典数学曲线中非常著名,由瑞典数学家冯·科赫(H·V·Koch)于 1904年提出,由于其形状类似雪花,也被称为雪花曲线。 第六十二页,共九十二页。 科赫曲线绘制 第六十三页,共九十二页。 科赫曲线绘制 科赫曲线属于分形几 何分支,它的绘制过程 体现了递归思想,绘制 过程代码。 实例代码8.1 e8.1DrawKoch.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #e8.1DrawKoch.py import turtle def koch(size, n): if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: turtle.left(angle) koch(size/3, n-1) def main(): turtle.setup(800,400) turtle.speed(0) #控制绘制速度 turtle.penup() turtle.goto(-300, -50) turtle.pendown() turtle.pensize(2) koch(600,3) # 0阶科赫曲线长度,阶数 turtle.hideturtle() main() 第六十四页,共九十二页。 科赫曲线绘制 实例代码8.2 e8.2DrawKoch.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #e8.2DrawKoch.py import turtle def koch(size, n): if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: turtle.left(angle) koch(size/3, n-1) def main(): turtle.setup(600,600) turtle.speed(0) turtle.penup() turtle.goto(-200, 100) turtle.pendown() turtle.pensize(2) level = 5 koch(400,level) turtle.right(120) koch(400,level) turtle.right(120) koch(400,level) turtle.hideturtle() main() 科赫曲线的雪花效果 第六十五页,共九十二页。 小练习:绘制谢宾斯基三角形 第六十六页,共九十二页。 汉诺塔游戏 第六十七页,共九十二页。 变量的返回值 如果func()函数内部存在一个真实创建过且名称为ls的列表 ,则func()将操作该列表而不会修改全局变量,例子如下。 ls = [] #ls是全局列表变量 def func(a, b): ls = [] #创建了名称为ls的局部列表变量列 ls.append(b) #将局部变量b增加到全局列表变量ls中 return a*b s = func(knock~, 3) print(s
您可能关注的文档
- VOLVO产品占位及竞品拦截工作规划建议.ppt
- 艾滋病实验室检测管理与设备维护培训.ppt
- MBA管理经济学课件之需求弹性分析.ppt
- NX工程图基础培训教程.ppt
- QDC七大手法培训教材.ppt
- KUKA机器人基础培训.ppt
- KYT企业培训目标管理资料.ppt
- PowerPoint2007幻灯片制作与播放.ppt
- OKCT竞争营销四步法培训教材.ppt
- 不良反应质量评估标准.ppt
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
原创力文档

文档评论(0)