那是代码(我使用 python 3):
def fibonacci(x):
if x == 1 or 2:
return 1
f = fibonaci(x-1) + fibonaci(x-2)
return f
print(fibonacci(4))
我想得到的输出是 3,这是第四个斐波那契数。但是我得到 1 作为输出。
f = fibonaci(x-1) + fibonaci(x-2)
我认为该代码没有执行我想要它执行的操作。可以说我会把它fibonacci(3)作为我的输入。
我认为应该发生的事情:
f = fibonacci(3-1) + fibonacci(3-2)
fibonacci(3-1)并且fibonacci(3-2)都应该返回 1 吗?所以f应该 = 2 并且fibonacci(3)应该给我 2 作为输出。但是我得到的输出仍然是1。错误在哪里?
缥缈止盈
相关分类