python迭代器应用之输出斐波拉契数列

python迭代器应用之输出斐波拉契数列

迭代器优点:占用空间小

# -*- coding:UTF-8 -*-
from collections import Iterable,Iterator
import time

class Fibonacci(object):
    def __init__(self,all_num):
        self.all_num = all_num
        self.current_num = 0
        self.a = 0
        self.b = 1
    def __iter__(self):
        return self #返回自己
    def __next__(self):
        if self.current_num < self.all_num:
            ret = self.a
            self.a,self.b = self.b,self.a+self.b
            self.current_num += 1
            return ret
        else:
            raise StopIteration

fibo = Fibonacci(10)

for num in fibo:
    print(num)
    time.sleep(1)

在这里插入图片描述

posted @ 2022-04-24 15:33  南瓜头pumpkin  阅读(12)  评论(0)    收藏  举报