首页 > 编程语言 > 详细

python3练习100题——006

时间:2018-05-25 16:25:42      阅读:216      评论:0      收藏:0      [点我收藏+]

继续做题~经过py3测试

原题链接:http://www.runoob.com/python/python-exercise-example6.html

题目:斐波那契数列。

我的代码:

def fib(n):
    if n==1:        
        l=[0]
    elif n==2:
        l=[0,1]
    else:
        l=[0,1]
        for i in range(2,n):
            l.append(l[i-1]+l[i-2])
    return l


思考:函数fib是以列表的形式返回的斐波那契数列,该列表第0/1位的无法迭代得出,所以用了if来解决这个问题。但是判断的次数很多,其实代码很繁琐。

看了题目下面的答案,可以用迭代的形式一次输出一个数字,代码也简洁了很多~

def Fib(n):
    a, b = 0, 1       #直接用变量给出了1,2个数,不需要if         
    print(a)              
    while n-1:
        a, b, n = b, a + b, n - 1          #用一行代码就实现了斐波那契数列的迭代,也实现了循环的计数
        print(a)

 

python3练习100题——006

原文:https://www.cnblogs.com/drifter/p/9089180.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!