Python代码阅读(第54篇):斐波那契数列
2021-10-14 本文已影响0人
FelixZzzz
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码生成了一个包含斐波那契序列的列表。
本篇阅读的代码片段来自于30-seconds-of-python。
fibonacci
def fibonacci(n):
if n <= 0:
return [0]
sequence = [0, 1]
while len(sequence) <= n:
next_value = sequence[len(sequence) - 1] + sequence[len(sequence) - 2]
sequence.append(next_value)
return sequence
# EXAMPLES
print(fibonacci(7)) # [0, 1, 1, 2, 3, 5, 8, 13]
fibonacci
函数接收指定的斐波那契数列的项数n
,返回生成的斐波那契数列。
函数使用数列公式和append()
来生成数列。
需要注意的是斐波那契数列开始项是第0
项。斐波那契数列公式满足以下逻辑
- 当
n
等于0
时,函数返回斐波那契数列的第0
项,[0]
。 - 当
n
等于1
时,函数返回返回数列的第0
项和第1
项,[0,1]
。 - 当
n
大于等于2
时,斐波那契数列的第n
项是由n-1
和n-2
项相加计算得来的。
根据函数中if
和while
中的判断逻辑,函数特别定义,n
小于0
的时候,函数返回[0]
。 n
大于等于2
的时候,函数迭代的进行斐波那契数列的计算,每次将新计算得到的项添加到数列的末尾。直到数列的计算到第n
项。
形式s.append(x)
会将x
添加到序列的末尾 ,等同于s[len(s):len(s)] = [x])
。