【发布时间】:2020-09-19 11:53:07
【问题描述】:
我正在尝试在这里生成斐波那契数列。不一定要寻找特定于该系列的答案,但为什么我在这里创建的循环不会为输入“0”生成包含多达 20 个值的列表。
到目前为止,我已经尝试在循环内部和之前追加。我得到的结果是[0,1]。除此之外,它似乎没有添加到列表中。
series = []
value = input("Enter an integer: \n")
i = int(value)
series.append(i)
if series[0] == 0:
series.append(1)
for i in series[2:20]:
series[i]=series[i-1]+series[i-2]
series.append(i)
print(series)
【问题讨论】:
-
Python 不会为列表预先分配空间。因此,
for i in series[2:20]不会在长度为 1 的列表中按预期工作。 -
for i in LIST迭代 LIST 中包含的值,您的series[2:20]将为空,因为series只有 2 个值,并且您在一秒钟后切片。在列表范围之外切片会给出空列表。所以你的for没有执行。
标签: python python-3.x list loops iteration