zoukankan      html  css  js  c++  java
  • python3练习100题——006

    继续做题~经过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)
  • 相关阅读:
    linux umask使用详解
    Linux 解压压缩命令
    linux命令:tail 命令
    linux命令:head 命令
    linux下cat命令详解
    linux命令:rm 命令
    linux命令:mv命令
    Linux 的cp命令
    文件权限详解
    Linux ls命令参数详解
  • 原文地址:https://www.cnblogs.com/drifter/p/9089180.html
Copyright © 2011-2022 走看看