我想获得下一个斐波那契数

时间:2019-07-09 08:27:38

标签: python-3.x fibonacci

我想找到斐波那契数列中的下一个斐波那契数。就像我输入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.

1 个答案:

答案 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))