協程(Coroutines)實現fibonacci函數
阿新 • • 發佈:2018-05-02
bsp print tin clas color () 實現 zip num
1 def fibonacci(): 2 yield 1 3 yield 1 4 l=[1,1] 5 while True: 6 l=[l[-1],sum(l[-2:])] 7 yield l[-1] 8 9 def tribonacci(): 10 yield 0 11 yield 1 12 yield 1 13 l=[0,1,1] 14 while True: 15 l=[l[-2],l[-1],sum(l[-3:])] 16 yield l[-1]17 18 for i,(f,t) in enumerate(zip(fibonacci(),tribonacci())): 19 if i==10: 20 break 21 print(f,t)
運行結果如下
1 1 0 2 1 1 3 2 1 4 3 2 5 5 4 6 8 7 7 13 13 8 21 24 9 34 44 10 55 81
協程(Coroutines)實現fibonacci函數