广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python实现斐波那契数列的方法示例
  • 635
分享到

python实现斐波那契数列的方法示例

数列示例方法 2022-06-04 18:06:09 635人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

介绍 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下递归的方法定义: F(0)=0,F(1)=1,F(n)=F(n-1)+F(n

介绍

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下递归的方法定义:

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 。

查看图片

1. 元组实现


fibs = [0, 1]
for i in range(8):
 fibs.append(fibs[-2] + fibs[-1])

这能得到一个在指定范围内的斐波那契数列的列表。

2. 迭代器实现


class Fibs:
 def __init__(self):
  self.a = 0
  self.b = 1

 def next(self):
  self.a, self.b = self.b, self.a + self.b
  return self.a

 def __iter__(self):
  return self

这将得到一个无穷的数列,可以采用如下方式访问:


fibs = Fibs()
for f in fibs:
 if f > 1000:
  print f
  break
 else:
  print f

3. 通过定制类实现


class Fib(object):
 def __getitem__(self, n):
  if isinstance(n, int):
   a, b = 1, 1
   for x in range(n):
    a, b = b, a + b
   return a
  elif isinstance(n, slice):
   start = n.start
   stop = n.stop
   a, b = 1, 1
   L = []
   for x in range(stop):
    if x >= start:
     L.append(a)
    a, b = b, a + b
   return L
  else:
   raise TypeError("Fib indices must be integers")

这样可以得到一个类似于序列的数据结构,可以通过下标来访问数据:


f = Fib()
print f[0:5]
print f[:10]

4.Python实现比较简易的斐波那契数列示例

先放一个斐波那契数列出来瞧瞧…


0 1 1 2 3 5 8 13 21 34 55 89 144 233...

首先给头两个变量赋值:


i, j = 0, 1

当然也可以这样写:


i = 0
j = 1

接着定个范围,就10000之内好了:


while i < 10000:

然后在while语句中输出i并设计逻辑:


 print i,
 i, j = j, i+j

在这里需要注意:“i, j = i, i+j”这条代码不能写成如下所示:


i = j
j = i+j

如果写成这样,j就不是前两位相加的值,而是已经被j赋过值的i和j相加的值,这样的话输出的数列会如下所示:


0 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192

正确的整片代码如下所示:


i, j = 0, 1
while i < 10000:
 print i,
 i, j = j, i+j

最后展示运行结果:


0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

总结

以上就是关于利用python实现斐波那契数列的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

--结束END--

本文标题: python实现斐波那契数列的方法示例

本文链接: https://www.lsjlt.com/news/13799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现斐波那契数列的方法示例
    介绍 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下递归的方法定义: F(0)=0,F(1)=1,F(n)=F(n-1)+F(n...
    99+
    2022-06-04
    数列 示例 方法
  • python实现斐波那契数列
    斐波那契数列的发明者是意大利数学家昂纳多.斐波那契(Leonardo Fibonacci)。斐波那契数列又被称为黄金分割数列,或兔子数列。它指的是这样一个数列:0 1 1 2 3 5 8 13 21 34 ....在数学上,斐波那契数列以递...
    99+
    2023-01-31
    数列 python
  • Python怎么实现斐波那契数列
    这篇文章主要介绍“Python怎么实现斐波那契数列”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么实现斐波那契数列”文章能帮助大家解决问题。1、递归方法输出斐波那契数列第n个元素的值2...
    99+
    2023-06-28
  • python3斐波那契数列的实现
    def fib(num): a,b=1,1 while a<num: print(a,end=' ') a,b=b,a+b def fib_tump(...
    99+
    2023-01-31
    数列
  • java实现斐波那契数列的三种方法
    斐波那契数列(Fibonacci sequence)的定义:斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,...
    99+
    2017-12-03
    java 斐波那契数列 方法
  • JavaScript输出斐波那契数列的实现方法
    目录题目分析基础解法初级递归递归优化总结题目 有这么一道题目需要我们来解答: 试输出斐波那契数列的前10项,即 1、1、2、3、5、8、13、21、34、55。 ...
    99+
    2022-11-12
  • java中斐波那契数列的简单实现方法
    斐波那契数列指的是:数列的后项等于前两项的和,代码中我们用a[i]=a[i-1]+a[i-2]实现。典型兔子生小兔问题古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对,假设每对小兔子都不死,编程...
    99+
    2021-03-23
    java教程 java 斐波那契数列 实现方法
  • 怎么使用python实现斐波那契数列
    这篇文章主要介绍“怎么使用python实现斐波那契数列”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用python实现斐波那契数列”文章能帮助大家解决问题。斐波那契数列(Fibonacci s...
    99+
    2023-06-27
  • Python/R语言分别实现斐波那契数列的示例详解
    目录前言1、年龄计算1.1 图解问题1.2 代码解决1.3 实验小结2、斐波那契数列2.1 图解问题2.2 代码实现2.3 实验小结总结前言 此专栏为python与R语言对比学习的文...
    99+
    2022-11-13
  • Python实现斐波那契数列的多种写法总结
    目录1.for循环2.while循环3.使用递归4.递归+for循环5.递归+while循环6.递归+定义函数+for循环7.指定列表趣方程求解pandas 每日一练斐波那契数列&m...
    99+
    2022-11-11
  • 怎么用php实现斐波那契数列
    实现方法:1、用数组来求,语法“for($i=0;$i<$n;$i++){if($i==0||$i==1){$arr[$i]=1;}else{$arr[$i]=$arr[$i-1]+$arr[$i-2];}echo $arr[$i];...
    99+
    2023-05-14
    php
  • 如何用php实现斐波那契数列
    这篇文章主要介绍了如何用php实现斐波那契数列的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用php实现斐波那契数列文章都会有所收获,下面我们一起来看看吧。实现方法:1、用数组来求,语法“for($i=0;...
    99+
    2023-07-05
  • java中斐波那契数列怎么实现
    本篇内容主要讲解“java中斐波那契数列怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中斐波那契数列怎么实现”吧!   斐波那契数列指的是:数...
    99+
    2022-10-19
  • Python中怎么实现一个斐波那契数列
    本篇文章给大家分享的是有关Python中怎么实现一个斐波那契数列,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、递归方法输出斐波那契数列第n个元素的值2、用迭代器和生成器获取...
    99+
    2023-06-02
  • 用Python实现斐波那契(Fibonacci)函数
    Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。 最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个...
    99+
    2022-06-04
    函数 Python Fibonacci
  • python递归函数斐波那契数列怎么实现
    斐波那契数列是一个数列,其中每个数字是前两个数字的和,即F(n) = F(n-1) + F(n-2)。递归函数可以用来实现斐波那契数...
    99+
    2023-09-26
    python
  • JavaScript斐波那契数列及其优化的示例分析
    小编给大家分享一下JavaScript斐波那契数列及其优化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!斐波那契数列及其优化利用函数记忆,将之前运算过的结果保存下来,对于频繁依赖之前结果的计算能够节省大量的时间,...
    99+
    2023-06-27
  • Go语言怎么实现斐波那契数列
    这篇文章主要介绍“ Go语言怎么实现斐波那契数列”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ Go语言怎么实现斐波那契数列”文章能帮助大家解决问题。斐波那契数列以下实例通过 Go 语言的递归函数实...
    99+
    2023-06-19
  • C语言如何实现斐波那契数列
    这篇文章主要介绍了C语言如何实现斐波那契数列的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现斐波那契数列文章都会有所收获,下面我们一起来看看吧。C语言数据结构递归之斐波那契数列首先,关于递归深度,递...
    99+
    2023-06-17
  • python斐波那契数列递归算法怎么用
    要编写斐波那契数列的递归算法,可以按照以下步骤进行: 确定递归的结束条件:斐波那契数列的前两个数为1和1,所以当序号为1或2时,...
    99+
    2023-10-22
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作