索引超出范围 Python 数值迭代
Index out of range Python NUmerical Iteration
我是 Python 的初学者。而运行下面的代码。
from array import *
x=[]
x[0]=.232
for i in range(25):
x[i+1]=1/[i+1]-5*x[i]
end
我收到一个错误:
x[0]=.232 IndexError: list assignment index out of range
谁能帮我解决这个问题
您的代码有更多错误,但在这种特殊情况下,您试图访问空数组(声明为 x=[]
)
同样的错误出现在循环中(x[i+1]
is index out of range since the array is empty)并且你有语法错误,end
不是 python 关键字。最后,循环体应该缩进。
x=[] 生成一个空列表,因此您不能调用 x[0],因此为方便起见,将 26 个元素(您总共需要 26 个元素)的列表全部设为零,
x=[0.0]*26
或
x=[0.0 for i in range(26)]
再次 [i+1]
表示一个列表,你不能用那个 make (i+1) 进行计算。也 1/(i+1)
给出整数除法使 1.0/(i+1)
end
在这里不是一个有效的 python 函数,不要在 for 循环下的下一行使用它。最终计划,
x=[0.0]*26
x[0]=.232
for i in range(25):
x[i+1]=1.0/(i+1)-5*x[i]
我是 Python 的初学者。而运行下面的代码。
from array import *
x=[]
x[0]=.232
for i in range(25):
x[i+1]=1/[i+1]-5*x[i]
end
我收到一个错误:
x[0]=.232 IndexError: list assignment index out of range
谁能帮我解决这个问题
您的代码有更多错误,但在这种特殊情况下,您试图访问空数组(声明为 x=[]
)
同样的错误出现在循环中(x[i+1]
is index out of range since the array is empty)并且你有语法错误,end
不是 python 关键字。最后,循环体应该缩进。
x=[] 生成一个空列表,因此您不能调用 x[0],因此为方便起见,将 26 个元素(您总共需要 26 个元素)的列表全部设为零,
x=[0.0]*26
或
x=[0.0 for i in range(26)]
再次 [i+1]
表示一个列表,你不能用那个 make (i+1) 进行计算。也 1/(i+1)
给出整数除法使 1.0/(i+1)
end
在这里不是一个有效的 python 函数,不要在 for 循环下的下一行使用它。最终计划,
x=[0.0]*26
x[0]=.232
for i in range(25):
x[i+1]=1.0/(i+1)-5*x[i]