方式一:函数 def fabs(n): a, b = 0, 1 while b < n: print(b, end=' ') a, b = b, a+b fabs(1000) 方式二:列表 result = [0, 1] def fabs(n): while n-result[-1] > result[-2]: result.append(result[-2] + result[-1]) fabs(100) print(result) 方式三:类 class Fabs: def __init_…
斐波那契数列是数学中的常见的算法,第一个第二个不算,从第三个开始,每个数的都是前面两个数的和,使用yield关键词把生成的数列保存起来,调用的时候再调用,下面举例说明一下 def fab(max): n, a, b = 0, 0, 1 while n < max: yield b # print b a, b = b, a + b n = n + 1 调用方式 >>> for n in fab(5): ... print n ... 1 1 2 3 5 在这里yield起到关键的作…
Fibonacci Sequence # fibonacci sequence 斐波那契数列 def fibonacci_for(n): # 使用for循环返回n位斐波那契数列列表 li = [] for i in range(n+1): if i == 0 or i == 1: li.append(1) else: li.append(li[i-2] + li[i-1]) return li def fibonacci_sequence(over, x=1, y=1): # 返回一个over值…