1. 程式人生 > >協程(Coroutines)實現fibonacci函數

協程(Coroutines)實現fibonacci函數

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函數