python编写递归函数、求斐波那契数列_利用Python实现斐波那契数列的方法实例
今天我们来使用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博客!
python编写递归函数、求斐波那契数列_利用Python实现斐波那契数列的方法实例相关推荐
- 用python编写一个汉诺塔的移动函数_关于python递归函数实现汉诺塔
def move(n,a,b,c): #1 if n==1: #2 print(a,'-->',c) #3 else ...
- python 遍历文件夹下文件修改并保存_利用python完成自动化的任务之遍历文件夹修改文件之后并保存备份...
#利用python完成自动化的任务 #遍历文件夹里面的所有的内容--然后打开---利用正则表达式修改文本的内容(re.sub)---然后写入到新的文本内容中 import docx import re ...
- python连接sqlserver 多条sql语句后提交_利用python操作sqllite
SQLite3 可使用 sqlite3 模块与 Python 进行集成.sqlite3 模块是由 Gerhard Haring 编写的.它提供了一个与 PEP 249 描述的 DB-API 2.0 规 ...
- python 找出列表中出现最多的元素_利用Python找出序列中出现最多的元素示例代码...
前言 Python包含6种内置的序列:列表.元组.字符串 .Unicode字符串.buffer对象.xrange对象.在序列中的每个元素都有自己的编号.列表与元组的区别在于,列表是可以修改,而组元不可 ...
- python聊天小程序支持私聊和多人_利用Python打造一个多人在线匿名聊天的小程序!(前后端完整开发)...
用Python打造一个多人在线匿名聊天的小程序(附代码) 最近看到好多设计类网站, 都提供了多人在线匿名聊天的小功能, 感觉很有意思, 于是自己就用django框架写了一个, 支持手动实时更名, py ...
- 如何用Python编写一个求 1到n阶乘之和的程序
各位许久不见了,甚是想念! 前段时间我进入高中阶段学习,一直还没有适应,现在好些了就继续写博客了. 看到很多人关注我,点赞或是评论,我感觉太高兴了! C语言这块我暂时先放下了,我想自己学学Python ...
- python把汉字变成拼音英文_利用python将表格中的汉字转化为拼音
GB18030的字符集标准 http://zbgb5.com/2/StandardDetail479488.htm 缺少包时用pip install 进行安装,例如: pip install xlsx ...
- 利用python进行词频统计_利用python做词频计算(word-count)
主要针对英文文本做出词频计算,因为英文是用空格作为词语分割的.中文需要用到分词的库. 下面就用奥巴马的一片演讲做词频计算 1,分析的文本 speech_etxt = ''' My fellow cit ...
- python编写递归函数、求斐波那契数列第n项的值_用递归函数求斐波那契数列的第n项的值...
展开全部 #include int Fibonacci(int n) { if( n == 1 || n == 2) // 递归结束的条件,求前两项 return 1; else return Fib ...
最新文章
- 【swjtu】数字电路实验6_旋转编码器人机交互电路设计
- 每日一皮:雷神索尔的锤子为什么这么重?
- OpenLdap 相关命令
- 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)
- 中国上榜前50名富豪当中,有多少人完全是通过白手起家?
- java 极客_Java极客思维
- android 时间应用程序,Android在首次启动时需要更多时间启动应用程序
- 迷你世界电锯机器人_迷你世界:石像机器人升级版,制作如此简单!
- RequestDispatcher对象的应用-请求包含
- 创建一对多表结构实例 /操作的三种方式
- mysql where与on 左连接与右连接
- java array
- CSV 导入SQL Server(bulk insert方式)
- 电容电感充电曲线仿真图
- python写文件指定编码_python指定写入文件时的编码格式方法
- VirtualBox虚拟机全屏显示
- 医院预约挂号系统,java医院预约挂号系统,医院预约挂号管理系统毕业设计作品
- 券商单向视频见证开户全面开放!菊风泛金融单向视频开户一体化解决方案极速助力
- 商城小程序的一些功能介绍以及搭建教程
- 分号的html文本,在Vue中利用v-HTML按分号将文本换行的例子_輕微_前端开发者