Python代码阅读

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项。斐波那契数列公式满足以下逻辑

  1. n等于0时,函数返回斐波那契数列的第0项,[0]
  2. n等于1时,函数返回返回数列的第0项和第1项,[0,1]
  3. n大于等于2时,斐波那契数列的第n项是由n-1n-2项相加计算得来的。

根据函数中ifwhile中的判断逻辑,函数特别定义,n小于0的时候,函数返回[0]n大于等于2的时候,函数迭代的进行斐波那契数列的计算,每次将新计算得到的项添加到数列的末尾。直到数列的计算到第n项。

形式s.append(x)会将x添加到序列的末尾 ,等同于s[len(s):len(s)] = [x])

上一篇下一篇

猜你喜欢

热点阅读