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

(编辑:jimmy 日期: 2025/9/23 浏览:2)

今天我们来使用Python实现递归算法求指定位数的斐波那契数列

首先我们得知道斐波那契数列是什么"htmlcode">

#首先定义一个新的列表来储存最后的结果
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]

总结

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?