利用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中的迭代器与生成器使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 在python中实现强制关闭线程的示例

    在python中实现强制关闭线程的示例

    今天小编就为大家分享一篇在python中实现强制关闭线程的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python属性私有化详解

    Python属性私有化详解

    私有化是为了实现更好的封装形式。能隐藏属性,不被随意修改。以前置双下划线__属性/方法名定义,但是结尾不能是双下划线。如果不让某些属性在类外部被随意更改,可设置成私有属性。在类定义的内部可以访问
    2023-02-02
  • python SocketServer源码深入解读

    python SocketServer源码深入解读

    这篇文章主要介绍了python SocketServer源码深入解读,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • python绘制条形图方法代码详解

    python绘制条形图方法代码详解

    这篇文章主要介绍了python绘制条形图方法代码详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python将list保存到文件的3种方法实例代码

    Python将list保存到文件的3种方法实例代码

    这篇文章主要给大家介绍了关于Python将list保存到文件的3种方法,Python中提供了文件操作的功能,可以通过打开和读写文件实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 浅谈keras通过model.fit_generator训练模型(节省内存)

    浅谈keras通过model.fit_generator训练模型(节省内存)

    这篇文章主要介绍了浅谈keras通过model.fit_generator训练模型(节省内存),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python库skimage绘制二值图像代码实例

    Python库skimage绘制二值图像代码实例

    这篇文章主要介绍了Python库skimage绘制二值图像代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 如何利用Python写猜数字和字母的游戏

    如何利用Python写猜数字和字母的游戏

    这篇文章主要介绍了如何利用Python写猜数字和字母的游戏,文章基于Python实现游戏小项目,感兴趣的朋友可以参考一下
    2022-07-07
  • python清除字符串里非数字字符的方法

    python清除字符串里非数字字符的方法

    这篇文章主要介绍了python清除字符串里非数字字符的方法,涉及Python使用re模块正则替换操作字符串的技巧,需要的朋友可以参考下
    2015-07-07

最新评论