这是一个非常简单的脚本,但是当您用任何数字调用函数时,结果都是错误的。简单的斐波那契数列在Python中不输出正确的答案
def fib(n):
a=0
b=1
while a < n:
a, b = b, a+b
print(a)
fib(10)= 13.哪一个错误。
这是一个非常简单的脚本,但是当您用任何数字调用函数时,结果都是错误的。简单的斐波那契数列在Python中不输出正确的答案
def fib(n):
a=0
b=1
while a < n:
a, b = b, a+b
print(a)
fib(10)= 13.哪一个错误。
def fib(n):
a=0
b=1
i=1
while i < n:
a, b = b, a+b
i+=1
print(b)
试试这个^^
你不能使用,因为没有上升的直线,它是上升根据您当前的斐波那契数计算的状态...所以你需要一个额外的柜台采取什么step
谢谢。我仍然不明白为什么我的代码不起作用。 – 2014-08-27 08:51:38
当你做fibonacci序列,你给我们说10,你必须在你的计算上迭代10次才能得到正确的值......但是你用a作为你的步进器,但实际上a是像0,1,1那样上升,2,3,5,8,13,因为它在你的计算中使用...... a基于斐波那契数列上升,而不是基于你需要采取的步骤,那就是问题:)你只需要需要一个额外的变量来计算你的步数(因为你需要10个) – Soulan 2014-08-27 08:54:12
请考虑在range(n)中使用for循环,而不是手动增加'i'。 – Vincent 2014-08-27 08:55:37
函数返回斐波那契数列中第一个大于或等于n的值。 – Vincent 2014-08-27 08:53:50