python 學習-使用生成器輸出楊輝三角和斐波拉契數列

xiaopengyaonixi發表於2016-10-19
# 定義輸出楊輝三角的生成器
def tran(max):
    n,L = 1,[1]
    while n<=max:
        yield L
        L1 = [0] + L[:]
        L = [L1[i+1]+L1[i] for i in range(len(L))]+[1]
        n = n+1
    return "done"

# 定義斐波拉契數列生成器
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 tran(5):
    print(n)

print("------------------------")

# 測試斐波拉契數列
for m in fib(6):
    print(m)

相關文章