1. 程式人生 > >Python入門:生成器應用-斐波拉契數列

Python入門:生成器應用-斐波拉契數列

ner 賦值 斐波拉契 元組 return ext 生成 顯示 bsp

例子: 1,1,2,3,5,8,13,21......

def fib(max):

  n,a,b=0,0,1

  while n<max:

    #print(b)

    yield(b)

    a,b=b,a+b

    n+=1

  return ‘done‘

f=fib(10)

while True:

  try:

    x=next(f)

    print("f:",x)

  except StopIteration as e:

    print(‘Generator return value:‘,e.value)

    break

註意:a,b=b,a+b

相當於:

t=(b,a+b) # t 是一個元組

a=t[0]

   b=t[1]

但不必顯示寫出t臨時變量就可以賦值

Python入門:生成器應用-斐波拉契數列