利用Python实现斐波那契数列的方法实例
作者:别The Crossing 时间:2022-11-07 11:20:14
今天我们来使用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]
来源:https://blog.csdn.net/XVJINHUA954/article/details/107580323
标签:python,斐波那契数列
0
投稿
猜你喜欢
Python中reduce函数详解
2022-09-03 12:26:33
Python 避免字典和元组的多重嵌套问题
2021-01-06 00:07:26
Python基于scrapy采集数据时使用代理服务器的方法
2022-06-03 08:37:04
详解Golang中select的使用与源码分析
2024-05-09 14:52:08
Python远程开发环境部署与调试过程图解
2023-06-07 08:10:40
实用的 vue tags 创建缓存导航的过程实现
2024-05-29 22:45:55
从Context到go设计理念轻松上手教程
2024-05-13 10:41:07
Python爬取酷狗MP3音频的步骤
2022-04-07 03:15:21
OpenCV立体图像深度图Depth Map基础
2021-09-23 22:12:59
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2023-09-08 09:30:22
python 函数内部修改外部变量的方法
2022-05-24 09:04:19
Vue前后端不同端口的实现方法
2024-05-28 16:03:44
python使用wxpython开发简单记事本的方法
2022-05-15 18:06:12
golang微服务框架基础Gin基本路由使用详解
2023-07-23 10:31:19
python深度学习tensorflow安装调试教程
2021-06-28 23:03:51
python使用pil库实现图片合成实例代码
2022-01-15 21:17:39
Python画图小案例之小雪人超详细源码注释
2021-09-21 11:49:44
制作Python数字华容道的实现(可选择关卡)
2022-12-20 19:32:18
python使用xauth方式登录饭否网然后发消息
2021-04-18 08:11:54
Python中使用bidict模块双向字典结构的奇技淫巧
2023-05-12 19:37:55