斐波那契数列,是这样的一组数列
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()
应该看到的效果
python独有的列表类型,在获取递归队列时有独特的优势