📜  python程序使用函数检查斐波那契数 - Python(1)

📅  最后修改于: 2023-12-03 15:34:31.462000             🧑  作者: Mango

Python程序使用函数检查斐波那契数

本篇文章会介绍如何使用函数来检查一个数列是否为斐波那契数列。首先我们需要了解什么是斐波那契数列。

什么是斐波那契数列

斐波那契数列是一个数列,该数列前两项为0和1,从第三项开始,每一项的值是前面两项的和。即:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

检查数列是否为斐波那契数列

现在我们来写一个函数,来检查一个数列是否为斐波那契数列。

def is_fibonacci(number_list):
    """
    Given a list of numbers, check whether the list is a Fibonacci sequence.
    """
    if len(number_list) == 0:
        return False
    elif len(number_list) < 3:
        return True
    
    # Check first two numbers for correctness
    if number_list[0] != 0 or number_list[1] != 1:
        return False
    
    # Check rest of numbers
    for i in range(2, len(number_list)):
        if number_list[i] != number_list[i-1] + number_list[i-2]:
            return False
    
    return True

这个函数传入一个列表,如果列表中的数值符合斐波那契数列的规律,则返回True;否则,返回False。

示例

下面我们来使用这个函数来检查一下以下数列是否为斐波那契数列:

list1 = [0, 1, 1, 2, 3, 5, 8, 13, 21]
list2 = [0, 1, 1, 2, 3, 6, 10, 17, 27]
list3 = [1, 1, 2, 3, 5, 8, 13, 21, 34]

print(is_fibonacci(list1))  # True
print(is_fibonacci(list2))  # False
print(is_fibonacci(list3))  # False

运行这段代码,输出为:

True
False
False
总结

本篇文章介绍了如何使用函数来检查一个数列是否为斐波那契数列。斐波那契数列是一个重要的数列,对于理解一些算法问题有帮助。