利用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实现sublime3的less编译插件示例
Apr 27 Python
python杀死一个线程的方法
Sep 06 Python
python 网络编程常用代码段
Aug 28 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
jupyter notebook参数化运行python方式
Apr 10 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Python xlwt模块使用代码实例
Jun 10 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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 批量删除 sql语句
2009/06/05 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
python的类方法和静态方法
2014/12/13 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
大学自主招生自荐信
2013/12/16 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
小学生自我评价范文
2014/01/25 职场文书
党的群众路线学习材料
2014/05/16 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
springboot用户数据修改的详细实现
2022/04/06 Java/Android