python简单脚本之斐波那契数列

发布时间:2017-11-26 11:21:29编辑:Run阅读(3991)

    斐波那契数列,是这样的一组数列

    0,1,1,2,3,5,8,13,21,34,55........

    简单的概括一下,就是从第三个数起,等于前面两个数字的和

    求斐波那契数列最正统的方法就是函数递归了,不过对于python而言,有更加简单的方法操作,这得益于python独有的数据类型----列表,列表可以使用append方法在列表的尾部追加数据,这样一来,求斐波那契数列就变成简单的加法游戏了,无须递归求解

    编写fibonacci.py,代码如下:

    #!/usr/bin/env python
    # coding: utf-8
    __author__ = 'www.py3study.com'
    class Fibonacci(object):
        '''返回一个fibonacci数列'''
        def __init__(self):
            self.flist = [0, 1] #设置初始数列
            self.main()
    
        def main(self):
            listLen = input('请输入斐波那契数列的长度(3-50):')
            self.checkLen(listLen)
            while len(self.flist) < int(listLen):
                self.flist.append(self.flist[-1] + self.flist[-2])
            print('得到的fibonacci数列为:\n {}'.format(self.flist))
    
        def checkLen(self, lenth):
            lenList = map(str, range(3, 51))
            if lenth in lenList:
                print(u"输入的长度符合标准,继续运行")
            else:
                print(u'只能输入3 - 50,太长了不是算不出,只是没必要')
                exit()
    
    if __name__ == '__main__':
        st = Fibonacci()

    应该看到的效果

    blob.png

    python独有的列表类型,在获取递归队列时有独特的优势

关键字