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
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])。