我想找到斐波那契数列中的下一个斐波那契数。就像我输入9一样,该函数应返回13,这是下一个斐波那契数。
我不理解如何实现它的逻辑。只是搞砸了斐波那契程序。def Fibonacci(n):
if n<0:
print("Incorrect input")
elif n==1:
return 0
elif n==2:
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
print(Fibonacci(9))
if i entered 9 then the function should return 13 which is next fibonacci number.
答案 0 :(得分:0)
您误解了数字“ n”。 在您的程序中,您要求输入第n个数字,该数字不等于例如数字9。 因此,如果您要计算第n个斐波那契数,您的程序将运行。 要获得想要的东西,您必须执行以下操作:
def Fibonnacci(givenNumber):
number1 = 1
number2 = 1
nextFibo = number1 + number2
while nextFibo <= givenNumber:
number1 = number2
number2 = nextFibo
nextFibo = number1 + number2
return nextFibo
print(Fibonnacci(9))