方法1:简单函数实现
def fibonacci_01(n):
a, b, i = 0, 1, 1
while i <= n:
a, b = b, a+b
print(a, end=' ')
i += 1
方法2:通过递归函数
def fibonacci_03(n):
if n<=2:
return 1
return fibonacci_03(n-2)+fibonacci_03(n-1)
方法3:通过迭代器
class Fibonacci:
def __init__(self):
self.a = 0
self.b = 1
def __iter__(self):
return self
def __next__(self):
self.a, self.b = self.b, self.a+self.b
return self.a
f1=Fibonacci()
for f in f1:
if f<1000:
print(f)
else:
break
方法4:通过生成器
def fibonacci_02(n):
a, b, i = 0, 1, 1
while i <= n:
a, b = b, a+b
yield a
i += 1
其他:
跳台阶:一只青蛙,一次可以跳上1阶,也可以跳上2阶,问跳上n阶有多少种跳法。
兔子数量:刚开始有1只兔子,第三个月的时候兔子会繁殖一个小兔子,假如兔子不死,第N个月有多少只兔子
其实也是斐波那契的实现