斐波那契数列

方法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个月有多少只兔子

其实也是斐波那契的实现

你可能感兴趣的:(斐波那契数列)