如何用Python编写实现斐波那契数列的代码示例?

2026-05-21 21:553阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计585个文字,预计阅读时间需要3分钟。

如何用Python编写实现斐波那契数列的代码示例?

今天我们来使用Python实现递归算法,求指定位数的斐波那契数列。首先,我们需要知道斐波那契数列是什么。斐波那契数列又称为兔子数列,是一个著名的数列,从第三项开始,每一项都是前两项的和。具体来说,斐波那契数列的第n项是第n-1项和第n-2项的和。

今天我们来使用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编写实现斐波那契数列的代码示例?

标签:方法实例

本文共计585个文字,预计阅读时间需要3分钟。

如何用Python编写实现斐波那契数列的代码示例?

今天我们来使用Python实现递归算法,求指定位数的斐波那契数列。首先,我们需要知道斐波那契数列是什么。斐波那契数列又称为兔子数列,是一个著名的数列,从第三项开始,每一项都是前两项的和。具体来说,斐波那契数列的第n项是第n-1项和第n-2项的和。

今天我们来使用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编写实现斐波那契数列的代码示例?

标签:方法实例