gpt4 book ai didi

python - 斐波那契数列使用列表?

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:59 25 4
gpt4 key购买 nike

我正在尝试使用 python 中的列表打印斐波那契数列。这是我的代码

f=[1,1]
for i in range(8):
f.append(f[i-1]+f[i-2])

print(f)

输出是

[1, 1, 2, 3, 2, 3, 5, 5, 5, 8]

我没有得到这里的错误!

最佳答案

Python 的 range 从 0 开始,您需要从生成元素 2 开始。从 0 开始,您将获得前几个计算的负索引,这些计算从列表的末尾开始。要解决此问题,请将循环更改为 for i in range(2, 8)

为了澄清似乎是混淆的根源,通过从零开始 range 并使用负索引,您最终得到以下术语的总和并附加到列表中:

f[2] = f[0-1] + f[0-2] = f[-1] + f[-2] (= f[1] + f[0]) = 1 + 1 = 2  # looking good
f[3] = f[1-1] + f[1-2] = f[0] + f[-1] (= f[0] + f[2]) = 1 + 2 = 3 # looking good
f[4] = f[2-1] + f[2-2] = f[1] + f[0] = 1 + 1 = 2 # oops!
f[5] = f[3-1] + f[3-2] = f[2] + f[1] = 2 + 1 = 3

从那时起,数字就在轨道上,但与正确的索引偏移了 2。

关于python - 斐波那契数列使用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44141117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com