写点什么

Python 代码阅读(第 54 篇):斐波那契数列

用户头像
Felix
关注
发布于: 1 小时前
Python代码阅读(第54篇):斐波那契数列

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
# EXAMPLESfibonacci(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])

发布于: 1 小时前阅读数: 4
用户头像

Felix

关注

没有看点,仅仅闲聊。欢迎关注“没看点” 2018.05.04 加入

欢迎关注个人公众号:没看点 个人主页:www.zhangfelix.com

评论

发布
暂无评论
Python代码阅读(第54篇):斐波那契数列