python3实现斐波那契数列(4种方法)


Posted in Python onJuly 15, 2019

基础版(list方法)

# 比较占内存
w = int(input("输入一个数字还你一个斐波那契数列:"))
list_res = []
def list_n(n):
  if n>=3:
    res=list_n(n-1)+list_n(n-2)
  else:
    res=1
  return res

print("开始")

for i in range(0,w):
  list_res.append(list_n(i+1))
print(list_res)

升级版

# 比较占内存
num =int(input("输入一个数字还你一个斐波那契数列v2.0:"))
list_nums=[1,1]
def calculate(num,list_nums):
  i = 0
  if num>2:
    while i < num:
      list_nums.insert(i+2,list_nums[i]+list_nums[i+1])
      i+=1
    else:
      print("数列已生成")
      print(list_nums)
    return list_nums[num-1]
  else:
    return list_nums[0]

res = calculate(num,list_nums)
print("="*50)
print("第%s个:%s"%(num,res))

最实用版(解包的方式)

#省内存
def fbnq(n):
  a,b=1,1
  if n==1 or n ==2:
    return 1
  else:
    i=3
    while i<=n:
      a,b=b,a+b
      i+=1
    return b

print(fbnq(int(input("输入一个数:"))))

迭代器版

"""实现斐波那契数列"""


class feibo(object):
  def __init__(self, length):
    self.num1 = 0
    self.num2 = 1
    self.num = self.num1
    self.length = length
    self.index = 0

  def __iter__(self):
    return self

  def __next__(self):
    self.num = self.num1
    while True:
      if self.index == self.length:
        raise StopIteration
      self.num1, self.num2 = self.num2, self.num1+self.num2
      self.index += 1
      return self.num


myfbnq = feibo(10)
# print(list(myfbnq))  # 指针位置已到最后一位
for i in myfbnq:
  print(i)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
python中实现延时回调普通函数示例代码
Sep 08 Python
Python callable()函数用法实例分析
Mar 17 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python+selenium 获取一组元素属性值的实例
Jun 22 Python
实例讲解python中的协程
Oct 08 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
Python实现实时数据采集新型冠状病毒数据实例
Feb 04 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
Python实现疫情地图可视化
Feb 05 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 #Python
django settings.py 配置文件及介绍
Jul 15 #Python
python项目对接钉钉SDK的实现
Jul 15 #Python
用Python识别人脸,人种等各种信息
Jul 15 #Python
django中账号密码验证登陆功能的实现方法
Jul 15 #Python
python tkinter窗口最大化的实现
Jul 15 #Python
在pycharm下设置自己的个性模版方法
Jul 15 #Python
You might like
星际争霸中的热键
2020/03/04 星际争霸
PHP中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
Python全局变量操作详解
2015/04/14 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
大二学期个人自我评价
2014/01/13 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
大学应届生的自我评价
2014/03/06 职场文书
企业授权委托书范本
2014/04/02 职场文书
我的理想演讲稿
2014/04/30 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android