码迷,mamicode.com
首页 > 编程语言 > 详细

如何使用Python输出一个[斐波那契数列]

时间:2020-01-03 09:15:19      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:迭代   正整数   leo   pytho   end   解法   pre   python   数列   

如何使用Python输出一个[斐波那契数列]Fibonacci

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。

例子:1、1、2、3、5、8、13、21、34、……

解法1:

100以内的斐波那契数列

x=1
y=1
print(x,end=" ")
print(y,end=" ")
while(True):
    z=x+y
    x=y
    y=z
    if(z>100):   #当z>100的时候,终止循环
        break

    print(z,end=" ")

解法2:

#递归
def fibo(n):
    
    if n <= 1:
        return n
    else:
        return (fibo(n - 1) + fibo(n - 2))
 
m = int(input("打印前多少项?"))
if m <= 0:
    print("请输入正整数!")
else:
    print("fibo:")
    for i in range(1,m):
        print(fibo(i))

解法3:

迭代,用递归当数据大的时候,会出现效率问题

def fibo(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1  # 退出标识
for n in fibo(5):
    print (n)

如何使用Python输出一个[斐波那契数列]

标签:迭代   正整数   leo   pytho   end   解法   pre   python   数列   

原文地址:https://www.cnblogs.com/kai-/p/12142876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!