from collections import Iterable,Iterator
class Febo():
def __init__(self,n):
self.n = n
# 定義變數記錄肥波的前一位和後一位值
self.num1 = 0
self.num2 = 1
# 定義一個變數記錄下表的位置
self.index = 0
# iter :返回可迭代物件的迭代器。 iter(可迭代物件) == __iter__
def __iter__(self):
return self
# next :獲取迭代器中的資料
def __next__(self):
# 如果下標小於 傳入的引數
if self.index < self.n:
ret = self.num1
self.num1,self.num2 = self.num2,self.num1+self.num2
self.index += 1
return ret
else:
raise StopIteration
febo = Febo(10)
print(febo)
# isinstance 判斷是不是例項
print(isinstance(febo,Iterable))
print(isinstance(febo,Iterator))
for i in febo:
print(i)
複製程式碼
python 利用迭代器實現菲波納契
相關文章
- js迭代器實現斐波那契數列JS
- 菲波那契數——根據輸入資料中的n,輸出第n項菲波那契數
- rust實戰系列 - 使用Iterator 迭代器實現斐波那契數列(Fibonacci )Rust
- C++版本 17:菲波那契數列C++
- 使用Python實現斐波那契數列Python
- 斐波那契數列的python實現Python
- js實現斐波那契數列JS
- 斐波那契數列js 實現JS
- 裴波那契數列(javascript實現)JavaScript
- Python 實現 動態規劃 /斐波那契數列Python動態規劃
- Python中迭代器的實現Python
- 高效率JAVA實現斐波那契Java
- JavaScript斐波納契數列非遞迴演算法JavaScript遞迴演算法
- Golang利用select和普通函式分別實現斐波那契數列Golang函式
- JavaScript 實現:輸出斐波那契數列JavaScript
- 斐波那契數列三種實現函式函式
- 斐波那契數列演算法 JS 實現演算法JS
- python for迴圈和斐波那契Python
- 斐波那契數列 多語言實現 筆記筆記
- c# 迭代器實現C#
- 資料結構之斐波那契數列java實現資料結構Java
- 斐波那契數
- 斐波那契數列的遞迴和非遞迴實現遞迴
- 利用Matlab filterDesigner 工具生成FIR濾波器函式,並呼叫實現低通濾波MatlabFilter函式
- Python 迭代器Python
- Python迭代器Python
- Python:迭代器Python
- 斐波那契查詢
- 斐波那契數列
- Python進階:迭代器與迭代器切片Python
- Python迭代和迭代器詳解Python
- 菲波那契數 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 51737 通過數: 26371 【題目描述】 菲波那契數列是指這樣的數列: 數列的第一個和記憶體
- Python可迭代的物件與迭代器Python物件
- 斐波那契數列(Fibonacci)遞迴和非遞迴實現遞迴
- 斐波那契數列(Java)Java
- Kalman濾波器的原理與實現
- CANN運算元:利用迭代器高效實現Tensor資料切割分塊處理
- Python生成器、迭代器、可迭代物件Python物件