写一个简单的斐波那契类

来源:互联网 发布:jre 7u9 windows xp32 编辑:程序博客网 时间:2024/06/11 13:16

写一个简单的斐波那契类

class Fib(object):    def __init__(self):        self.a, self.b = 0, 1    def __iter__(self):        return self    def __next__(self):        self.a, self.b = self.b, self.a + self.b        if self.a > 10000:            raise StopIteration()        return self.a    def __getitem__(self, n):        if isinstance(n, int):            a, b = 1, 2            for x in range(n):                a, b = b, a + b            return a        if isinstance(n, slice):            start = n.start            stop = n.stop            if start is None:                start = 0            a, b = 1, 1            L = []            for x in range(stop):                if x >= start:                    L.append(a)                a, b = b, a + b            return L# ------------------------f = Fib()for n in f:    print(n, end='\t')print('\n--------------')print(f[:5])
原创粉丝点击