Fibonacci数列使用迭代器实现
生活随笔
收集整理的這篇文章主要介紹了
Fibonacci数列使用迭代器实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Fibonacci數(shù)列,數(shù)列中第一個數(shù)為0,第二個數(shù)為1,其后的每一個數(shù)都可由前兩個數(shù)相加得到:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
class FibIterator(object):"""斐波那契數(shù)列迭代器"""def __init__(self, n):""":param n: int, 指明生成數(shù)列的前n個數(shù)"""self.n = n# current用來保存當前生成到數(shù)列中的第幾個數(shù)了self.current = 0# num1用來保存前前一個數(shù),初始值為數(shù)列中的第一個數(shù)0self.num1 = 0# num2用來保存前一個數(shù),初始值為數(shù)列中的第二個數(shù)1self.num2 = 1def __next__(self):"""被next()函數(shù)調用來獲取下一個數(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=" ")
???????????????????????????????????????????????????????????????????-------??知識無價,汗水有情,如需搬運請注明出處,謝謝!
總結
以上是生活随笔為你收集整理的Fibonacci数列使用迭代器实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap-表格-普通表格
- 下一篇: 【整理之路二】百度地图的路径规划和调用本