失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python编写递归函数 求斐波那契数列_利用Python实现斐波那契数列的方法实例

python编写递归函数 求斐波那契数列_利用Python实现斐波那契数列的方法实例

时间:2020-06-08 05:26:26

相关推荐

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实现斐波那契数列的方法实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。