斐波那契数列,简单地说,起始两项为0和1,此后的项分别为它的前两项之后。
方式1:
def fibo(num):
numList = [0,1]
for i in range(num - 2):
numList.append(numList[-2] + numList[-1])
print ("前%d项斐波拉切数列为:" %num, numList)
if __name__=='__main__':
fibo(10)
方式2:迭代器实现
class Fibs:
def __init__(self, n=10):
self.a = 0
self.b = 1
self.n = n
def __iter__(self):
return self
def __next__(self):
self.a, self.b = self.b, self.a + self.b
if self.a > self.n:
raise StopIteration
return self.a
fibo = Fibs(100)
for each in fibo:
print(each)