Python基础入门学习笔记 023 递归:这帮小兔崽子
坑爹的兔子
斐波那契数列的迭代实现
我们都知道兔子繁殖能力是惊人的,如下图:
我们可以用数学函数来定义:
课间练习:假设我们需要求出经历了20个月后,总共有多少对小兔崽子?(迭代vs递归)
1 def fab(n): 2 n1 = 1 3 n2 = 1 4 n3 = 1 5 6 if n < 1: 7 print('输入有误!') 8 return 1 9 10 while (n2) > 0: 11 n3 = n2 + n1 12 n1 = n2 13 n2 = n3 14 n = 1 15 16 return n3 17 18 result = fab(20) 19 if result != 1: 20 print('总共有%d对小兔崽子诞生!' % result)斐波那契数列的递归实现
递归实现(递归计算时间将拉长)
1 def fab(n): 2 if n < 1: 3 print('输入有误!') 4 return 1 5 6 if n == 1 or n == 2: 7 return 1 8 else: 9 return fab(n1) + fab(n2) 10 11 result = fab(35) 12 if result != 1: 13 print('总共有%d对小兔崽子诞生!' % result)注:迭代计算时间远比递归少,因为递归要循环出入栈
上一篇:Python基础入门学习笔记 032 异常处理:你不可能总是对的
下一篇:Python基础入门学习笔记 042 魔法方法:算术运算
Python
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?