fib = [0,1]
a = 1
b = 0
i = 0
while i < n:
i = a+b
a,b = i, a
fib.append(i)
这适用于'n'(给定变量)是实际Fibonacci序列中的数字的情况,例如21或13.但是,如果数字是6,那么它会增加一个数字。该列表不应包含大于n的数字。
答案 0 :(得分:4)
您可以先将a
添加到列表中,然后再进行增量。
fib = [0]
a, b = 1, 0
while a <= n:
fib.append(a)
a,b = a+b, a
答案 1 :(得分:0)
使用经典的时髦递归Fibonacci函数(我花了几次尝试记住并且正确):
def fib(num):
if ((num == 0) or (num == 1)): return 1
fib_num = fib(num - 1) + fib(num - 2)
return fib_num
x, n, i = 2, 15, []
while (fib(x) < n):
i.append(fib(x))
x += 1