迭代器 累加和

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41596915/article/details/96964869
class Accumulator:
    def __init__(self, len):
        self.sum = 0
        self.index = 1
        self.len = len

    def __iter__(self):
        return self

    def __next__(self):
        if self.len > 0:
            self.len -= 1
            self.sum += self.index
            self.index += 1
            return self.sum
        else:
            raise StopIteration     #抛出StopIteration异常


accu = Accumulator(10)
Accuiter = iter(accu)
while True:
    try:
        print(next(Accuiter), end=' ')
    except StopIteration:
        pass

猜你喜欢

转载自blog.csdn.net/qq_41596915/article/details/96964869