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

 更新时间:2020年07月26日 12:19:17   作者:别The Crossing  
这篇文章主要给大家介绍了关于如何利用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实现字符串和字典的转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python flask自定义404错误页面方式

    python flask自定义404错误页面方式

    这篇文章主要介绍了python flask自定义404错误页面方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python的Flask框架中集成CKeditor富文本编辑器的教程

    Python的Flask框架中集成CKeditor富文本编辑器的教程

    在用Flask搭建网站时的后台文章编辑器可以使用CKeditor,CKeditor所支持的文本样式较多且开源,这里我们就来看一下Python的Flask框架中集成CKeditor富文本编辑器的教程
    2016-06-06
  • Python+wxPython实现文件内容搜索工具

    Python+wxPython实现文件内容搜索工具

    在本篇文章中,我们将介绍如何使用 wxPython 库创建一个简单的文件搜索工具,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-08-08
  • 一文带你了解CNN(卷积神经网络)

    一文带你了解CNN(卷积神经网络)

    CNN是神经网络中的一种,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。本文主要讲解了CNN(卷积神经网络)的基础内容,想了解更多的小伙伴可以看一看这篇文章
    2021-09-09
  • 在python win系统下 打开TXT文件的实例

    在python win系统下 打开TXT文件的实例

    下面小编就为大家分享一篇在python win系统下 打开TXT文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python3实现旋转数组的3种算法小结

    Python3实现旋转数组的3种算法小结

    旋转数组是一种常见的数据结构问题,通常是指一个有序数组经过旋转后,使得所有元素逆序排列,本文主要介绍了Python3实现旋转数组的3种算法小结,感兴趣的可以了解一下
    2023-12-12
  • 手把手教你进行Python虚拟环境配置教程

    手把手教你进行Python虚拟环境配置教程

    这篇文章主要介绍了手把手教你进行Python虚拟环境配置,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧,需要的朋友可以参考下
    2020-02-02
  • python使用tkinter调整label背景颜色的测试

    python使用tkinter调整label背景颜色的测试

    这篇文章主要介绍了python使用tkinter调整label背景颜色的测试方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • python的launcher用法知识点总结

    python的launcher用法知识点总结

    在本篇文章里小编给大家整理的是一篇关于python的launcher用法知识点总结内容,有兴趣的朋友们可以学习下。
    2020-08-08

最新评论