1. 列表输出
def Fibonacci_li(num):
a = 0
b = 0
li = []
for i in range(num):
li.append(a)
a, b = b, a + b
return li
print(fibonacci(10))
2. 递归输出
def Fibonacci(num):
if num == 0:
return 0
elif num == 1:
return 1
else:
return Fibonacci(num - 1) + Fibonacci(num - 2)
print(fibonacci(9))
3. 生成器输出
class Fibonacci(object):
def __init__(self, all_num):
self.a = 0
self.b = 1
self.all_num = all_num
self.current_num = 0
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 i in fibo:
print(i)