鱼C论坛

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

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

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

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

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

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对小兔子诞生!
这种形式,所以希望如果有做出来的朋友麻烦您把代码贴在帖子里供大家学习,在此感谢您!

三.        部分作业分析


四.        知识掌握程度

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

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

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

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

评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 16:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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