「」「生成器實現斐波那契數列」""
#著名的斐波拉契數列(fibonacci),除第乙個和第二個數外,任意乙個數都可由前兩個數相加得到:
# 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
#斐波拉契數列用列表生成式寫不出來,但是,用函式把它列印出來卻很容
def fbnq(num):
a=0b=1
current_index=0 #當前下標
while current_index#程式遇到yield返回值之後會暫停,下次執行時會從這裡開始,當後面遇到return時會立即結束迭代
yield result #乙個函式**現yield,則說明該函式是生成器
# return "haha"
if __name__ == '__main__':
ret=fbnq(3)
while true:
try:
ret1=next(ret)
print(ret1)
except stopiteration as e:
print(e.value)
## print(next(ret))
# print(next(ret))
# print(next(ret))
#溢位報錯
# print(next(ret))
# for i in ret:
# print(i)
Python 使用生成器生成斐波那契數列
def fib n a,b,counter 0,1,0while true if counter n return print a,end a,b b,a b counter counter 1fib 10 0112 35813 2134 55在python中,使用了yield的函式被稱為生成器,與...
斐波那契數列 斐波那契數列python實現
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...
實現斐波那契數列
方法 一 通過迭代器實現 class fibiterator object def init self,n self.n n 是使用current儲存當前數列中第幾個數 self.current 0 使用num1儲存數列中前乙個數,初始值為0 self.num1 0 使用num2儲存數列中後乙個數,...