zoukankan      html  css  js  c++  java
  • 斐波那契数列

    斐波那契数列(Fibonacci sequence)指的是这样一个数列:1、1、2、3、5、8、13、21、34、55、89...,除了前两个数,数列中的每一项都等于前两项之和。

    用函数可以轻松的实现这个数列:

    def fib(max):
        a,b,c = 0,0,1
        while a < max:
            print(c)
            b, c = c, c+b   #相当于1.t = c+b   2.b = c   3.c = t 从右往左
            a += 1
    fib(25)           #显示25位的斐波那契数列

    此程序的返回值为None,无法被其他函数调用,所以这个代码还可以进行一下优化:

    def fib(max):
        a,b,c = 0,0,1
        while a < max:
            yield c
            #print(c)
            b, c = c, c+b
            a += 1
    
    for i in fib(25):
        print(i)

    此处用了一个yield方法,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator,调用 fab(25) 不会执行 fab 函数,而是返回一个 iterable 对象。for循环执行时,执行到 yield c 时都会返回一个c的值并退出执行下一次循环,在循环继续时从yield c的下一句开始执行,直到再次碰到yield c。

  • 相关阅读:
    图形设计 X11
    软件安装 RPM SRPM YUM
    如何将excel表格中的纯数字删掉 空白行,然后删除
    考试机
    程序编译与运行
    基础设定与备份策略
    开机流程 模块管理 Loader
    让所有Excel数据格全部乘 某个数
    转:JDK1.8-Stream()使用详解
    转:IK分词原理
  • 原文地址:https://www.cnblogs.com/sunj-96/p/10665397.html
Copyright © 2011-2022 走看看