2014-08-27 29 views

回答

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

试试这个^^

你不能使用,因为没有上升的直线,它是上升根据您当前的斐波那契数计算的状态...所以你需要一个额外的柜台采取什么step

+0

谢谢。我仍然不明白为什么我的代码不起作用。 – 2014-08-27 08:51:38

+1

当你做fibonacci序列,你给我们说10,你必须在你的计算上迭代10次才能得到正确的值......但是你用a作为你的步进器,但实际上a是像0,1,1那样上升,2,3,5,8,13,因为它在你的计算中使用...... a基于斐波那契数列上升,而不是基于你需要采取的步骤,那就是问题:)你只需要需要一个额外的变量来计算你的步数(因为你需要10个) – Soulan 2014-08-27 08:54:12

+0

请考虑在range(n)中使用for循环,而不是手动增加'i'。 – Vincent 2014-08-27 08:55:37