我试图在函数中创建一个列表,进行一些处理并返回该列表。代码如下:
def fibo(num):
fib = [1,2]
i =2
while fib[-1] <int(num):
fib = fib[i-1]+fib[i-2]
i+=1
return fib
在调用函数时,我发现
while fib[-1] <int(num):
TypeError: 'int' object is not subscriptable
为什么会引起这个问题?我不能在Python中的函数中创建列表吗?你知道吗
编辑:我看到很多人对我的问题投反对票。有人能告诉我为什么我的问题得到这么多反对票吗。这将帮助我提出正确的问题并帮助社区:)
用
fib.append(fib[-1] + fib[-2])
替换fib = fib[i-1]+fib[i-2]
,代码将是正确的。你知道吗正如他们在注释中提到的,您的行
fib = fib[i-1]+fib[i-2]
正在将列表fib
转换为int
,您希望将其附加到列表中,以便代码正常工作。你知道吗我认为在覆盖列表时会出现错误。你知道吗
你很可能想要
而不是
相关问题 更多 >
编程相关推荐