利用Python实现斐波那契数列的方法实例


Posted in Python onJuly 26, 2020

今天我们来使用Python实现递归算法求指定位数的斐波那契数列

首先我们得知道斐波那契数列是什么?

  • 斐波那契数列又叫兔子数列
  • 斐波那契数列就是一个数列从第三项开始第三项的值是第一项和第二项的和依次类推

其次我们再来看递归算法是什么?

递归就是如果函数(子程序)包含了对其自身的调用,该函数就是递归的

话不多说上案例:

第一种方法:不使用递归算法

#首先定义一个新的列表来储存最后的结果
new_list = []
# 然后让用户输入指定位数
my_put = int(input("请输入使用递归算法求指定位数的斐波那契数列的位数: "))
# 利用for循环来遍历数组
for idx in range(my_put):
 # 利用if判断第使得第一位和第二位都为1
 if idx == 0:
  new_list.append(1)
 elif idx == 1:
  new_list.append(1)
  # 第三次的时候 当idx等于二的时候 然后第三项的话 应该的是第一项和第二项的和第一项的索引是0 第二项的索引是1
  #但是上面if判断以后 下面从idx为二的时候开始
  # 所以应该是索引为idx-2和索引为idx-1的相加得出第三项
 else:
  new_list.append(new_list[idx - 2] + new_list[idx - 1])
# 最后输出最后的数列
print(new_list)

第二种方法:使用递归算法

def get_num(n):
 # 获取斐波拉契数列中第n个数字的值
 if n == 1 or n == 2:
  return 1
 return get_num(n - 1) + get_num(n - 2)


# 把获取的斐波拉契数字存放到列表中
nums = []
for i in range(1, 9):
 nums.append(get_num(i))
 # get_num获得一个斐波拉契数字

print(nums)

两种方法最后的运行结果都为:

请输入使用递归算法求指定位数的斐波那契数列的位数: 9
[1, 1, 2, 3, 5, 8, 13, 21, 34]

总结

到此这篇关于利用Python实现斐波那契数列的文章就介绍到这了,更多相关Python实现斐波那契数列内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python设计模式之单例模式实例
Apr 26 Python
Python解释执行原理分析
Aug 22 Python
python集合用法实例分析
May 30 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python实现的计算器功能示例
Apr 26 Python
利用Python检测URL状态
Jul 31 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 Python
3分钟看懂Python后端必须知道的Django的信号机制
Jul 26 #Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 #Python
python如何支持并发方法详解
Jul 25 #Python
Python获取浏览器窗口句柄过程解析
Jul 25 #Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 #Python
基于Python实现简单学生管理系统
Jul 24 #Python
用python实现学生管理系统
Jul 24 #Python
You might like
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
原生js实现form表单序列化的方法
2018/08/02 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
Python中的super用法详解
2015/05/28 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
python3实现弹弹球小游戏
2019/11/25 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
你懂得怎么写自荐信吗?
2013/12/27 职场文书
个人职业及收入证明
2014/10/13 职场文书
2014年租房协议书范本
2014/10/30 职场文书
中学生检讨书范文
2014/11/03 职场文书
经理岗位职责范本
2015/04/15 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python