斐波拉契数列(Fibonacci)的Python实现

2016-11-04 11:30:24来源:CSDN作者:tong_huijiao人点击

#著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:
#1, 1, 2, 3, 5, 8, 13, 21, 34, ...

#普通函数方式实现斐波那契数列
#!/usr/bin/env python3   
# -*- coding: utf-8 -*-
def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        print(b)
        a, b = b, a + b     #赋值语句,相当于:t = (b, a + b)  a = t[0]  b = t[1]  #t是一个tuple
        n = n + 1
    return 'done'
fib(6)                      #fib(n)  n为希望生成的斐波那契数列数量
input('按下enter返回') 


#生成器方式实现斐波那契数列
#!/usr/bin/env python3   

# -*- coding: utf-8 -*-

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1
    return 'done'
for n in fib(6):
    print(n)                

input('按下enter返回')  



微信扫一扫

第七城市微信公众平台