斐波那契数列的递归实现和for实现

斐波那契数列的递归实现和for实现,第1张

斐波那契数列递归实现和for实现

2021年「博客之星」评选开始投票开启——我想要您投一票我的CSDN主页My Python 学习个人备忘录我的博文推荐


斐波那契数列的递归和for实现

  今天在QQ学习群聊天,聊到递归,让我返回重学习了一把。
    聊天勾我复习递归复习递归完整代码

聊天勾起我复习递归   一个学伴儿聊到一段代码:

  
  疑惑为什么后面有“321”输出。

  我加入调试文字后,还是疑惑。若
大佬解惑


回首页

递归复习

代码试炼

  用递归输出数列第40项都难,第50项卡死。而for,即使第10000项输出,也是立即显现。 递归实现代码
def fib(n): #递归实现
    if n==0:
        return 0
    elif n==1:
        return 1
    else:
        return fib(n-1)+fib(n-2) #数列第三项是前两项的和。

For实现代码
def fib_for(n):
    fib = [0, 1] #初始化斐波那契数列前两项。
    for i in range(2, n+1): #生成第二项到第n项。
        fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。
    return fib #返回到第n项的整个数列。

回首页

python完整代码 (如果从语句注释不能清楚作用,请评论区留言指教和探讨。欄)
# coding: utf-8

'''斐波那契数列的递归实现和for实现'''


def fib(n): #递归实现
    if n==0:
        return 0
    elif n==1:
        return 1
    else:
        return fib(n-1)+fib(n-2) #数列第三项是前两项的和。


def fib_for(n): #for实现
    fib = [0, 1] #初始化斐波那契数列前两项。
    for i in range(2, n+1): #生成第二项到第n项。
        fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。
    return fib #返回到第n项的整个数列。


n = 10
s = f'斐波那契数列第{n}项'
blank = ' '
input(f'nn{s:.^33}nn{blank:8}递归实现:{fib(n)}nn{blank:8}For实现:{fib_for(n)[-1]}nnFor实现的到{n}项的数列:n{fib_for(n)}nn{"The End":.^42}n')


回首页

我的博文推荐:

排序数组中查找元素的重复起止位置(当前阅读1194)柱状图中最大矩形(当前阅读1595)电话拨号键盘的字母组合(当前阅读1205)密码强度检测器(当前阅读1662)求列表平衡点(当前阅读1694) 字符串统计(当前阅读1630)尼姆游戏代码优化版(当前阅读815)尼姆游戏(聪明版首发)(当前阅读3230)

推荐条件 点阅破千

参考文章:


上一篇: 练习:旋转链表(list.insert(0, list.pop())实现)
下一篇: 


回首页

精品文章:

OPP三大特性:封装中的property通过内置对象理解python'正则表达式python中“*”的作用Python 完全自学手册海象运算符Python中的 `!=`与`is not`不同学习编程的正确方法

来源:老齐教室


CSDN实用技巧博文:

8个好用到爆的Python实用技巧python忽略警告


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5701550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存