📅  最后修改于: 2023-12-03 15:34:31.462000             🧑  作者: Mango
本篇文章会介绍如何使用函数来检查一个数列是否为斐波那契数列。首先我们需要了解什么是斐波那契数列。
斐波那契数列是一个数列,该数列前两项为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
本篇文章介绍了如何使用函数来检查一个数列是否为斐波那契数列。斐波那契数列是一个重要的数列,对于理解一些算法问题有帮助。