马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 1137381680 于 2017-7-9 14:27 编辑
《零基础入门学习Python》
——学习笔记
023 递归:这帮小兔崽子
一. 定义分析
P.S这一节由于是操作,没有新的名词出现,为了让自己不忘记递归的用法,我把题目和自己写的码放在下面。
二. 杂谈
1. 斐波那契额数列:
迭代算法:def rabbit(input):
x = 1
y = 1
times = 2
month = input
while month == 1 or month ==2:
return 1
while times != month:
z = x + y
x = y
y = z
times = times + 1
return z
while 1:
print(rabbit(int(input('请输入月份:'))))
2.递归算法:def fab(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return fab(n-1) + fab(n-2)
while 1:
print(fab(int(input('请输入月份:'))))
2. 如果用递归求这种数列,那么并不会把代码变得多简单,反而在运行时会因为其分布的原理把运算复杂化,使运算减慢甚至死机。所以不要什么情况都使用递归。
3. 由于本人能力有限,在试了很多遍以后都没能够实现互动的产生出结果,如:请输入经过了几个月:12
总共有144对小兔子诞生!
这种形式,所以希望如果有做出来的朋友麻烦您把代码贴在帖子里供大家学习,在此感谢您!
三. 部分作业分析
无
四. 知识掌握程度
心得:学到了斐波那契额数列,并且能够用迭代的方式和递归的方式满足条件。
难点:如何运用算法解决这个数列
重点:如何利用自创建函数的调用实现递归。
注:此贴内的图片版权归小甲鱼老师所有 |