Fibonacci数列使用迭代器实现
生活随笔
收集整理的這篇文章主要介紹了
Fibonacci数列使用迭代器实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Fibonacci數(shù)列,數(shù)列中第一個(gè)數(shù)為0,第二個(gè)數(shù)為1,其后的每一個(gè)數(shù)都可由前兩個(gè)數(shù)相加得到:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
class FibIterator(object):"""斐波那契數(shù)列迭代器"""def __init__(self, n):""":param n: int, 指明生成數(shù)列的前n個(gè)數(shù)"""self.n = n# current用來(lái)保存當(dāng)前生成到數(shù)列中的第幾個(gè)數(shù)了self.current = 0# num1用來(lái)保存前前一個(gè)數(shù),初始值為數(shù)列中的第一個(gè)數(shù)0self.num1 = 0# num2用來(lái)保存前一個(gè)數(shù),初始值為數(shù)列中的第二個(gè)數(shù)1self.num2 = 1def __next__(self):"""被next()函數(shù)調(diào)用來(lái)獲取下一個(gè)數(shù)"""if self.current < self.n:num = self.num1self.num1, self.num2 = self.num2, self.num1+self.num2self.current += 1return numelse:raise StopIterationdef __iter__(self):"""迭代器的__iter__返回自身即可"""return selfif __name__ == '__main__':fib = FibIterator(10)for num in fib:print(num, end=" ")
???????????????????????????????????????????????????????????????????-------??知識(shí)無(wú)價(jià),汗水有情,如需搬運(yùn)請(qǐng)注明出處,謝謝!
總結(jié)
以上是生活随笔為你收集整理的Fibonacci数列使用迭代器实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: bootstrap-表格-普通表格
- 下一篇: 【整理之路二】百度地图的路径规划和调用本