简单的Fibonacci序列没有在Python中输出正确的答案

时间:2014-08-27 08:34:16

标签: python while-loop fibonacci

这是一个非常简单的脚本,但是当你用任何数字调用函数时,结果都是错误的。

def fib(n):
     a=0
     b=1
     while a < n:
         a, b = b, a+b
     print(a)

fib(10)= 13.哪个错了。

1 个答案:

答案 0 :(得分:2)

def fib(n):
     a=0
     b=1
     i=1
     while i < n:
        a, b = b, a+b
        i+=1
     print(b)

试试这个^^

你不能使用a因为a没有上升线性,它会根据你当前的斐波纳契计算状态而上升...所以你需要一个额外的计数器来接受你的步骤