鱼C论坛

 找回密码
 立即注册
查看: 2445|回复: 0

[技术交流] 《零基础入门学习Python》023 递归:这帮小兔崽子

[复制链接]
发表于 2017-7-8 18:37:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 1137381680 于 2017-7-9 14:27 编辑

《零基础入门学习Python》
——学习笔记

023 递归:这帮小兔崽子

一.        定义分析

P.S这一节由于是操作,没有新的名词出现,为了让自己不忘记递归的用法,我把题目和自己写的码放在下面。

二.        杂谈

1.        斐波那契额数列:

迭代算法:
  1. def rabbit(input):
  2.         x = 1
  3.         y = 1
  4.         times = 2
  5.         month = input
  6.         while month == 1 or month ==2:
  7.                 return 1
  8.         while times != month:
  9.                 z = x + y
  10.                 x = y
  11.                 y = z
  12.                 times = times + 1
  13.         return z
  14. while 1:
  15.         print(rabbit(int(input('请输入月份:'))))
复制代码
2.递归算法:
  1. def fab(n):
  2.     if n < 1:
  3.             print('输入有误!')
  4.             return -1
  5.     if n == 1 or n == 2:
  6.             return 1
  7.     else:
  8.             return fab(n-1) + fab(n-2)
  9. while 1:
  10.     print(fab(int(input('请输入月份:'))))
复制代码
2.        如果用递归求这种数列,那么并不会把代码变得多简单,反而在运行时会因为其分布的原理把运算复杂化,使运算减慢甚至死机。所以不要什么情况都使用递归。

3.        由于本人能力有限,在试了很多遍以后都没能够实现互动的产生出结果,如:
  1. 请输入经过了几个月:12
  2. 总共有144对小兔子诞生!
复制代码
这种形式,所以希望如果有做出来的朋友麻烦您把代码贴在帖子里供大家学习,在此感谢您!

三.        部分作业分析


四.        知识掌握程度

心得:学到了斐波那契额数列,并且能够用迭代的方式和递归的方式满足条件。

难点:如何运用算法解决这个数列

重点:如何利用自创建函数的调用实现递归。

注:此贴内的图片版权归小甲鱼老师所有
斐波那契数列.JPG

评分

参与人数 2荣誉 +5 鱼币 +8 收起 理由
康小泡 + 3
小甲鱼 + 5 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 07:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表