老师好 发表于 2021-8-9 21:20:25

python新手求助

>>> A =
>>> for i in range(3):
        A =

       
Traceback (most recent call last):
File "<pyshell#5>", line 2, in <module>
    A =
IndexError: list assignment index out of range
>>>

请问这个为什么报错呀,非常感谢

柿子饼同学 发表于 2021-8-9 21:24:09

本帖最后由 柿子饼同学 于 2021-8-9 21:32 编辑

列表 A 中就只有一个元素
而这里试图索引第 1 , 2 个元素 , 超过了列表索引值 , 所以会报错
实在不行可以用以下方法初始化列表:>>> A = []
>>> for i in range(3):
        A.append(0)

>>> A

酱紫也可
>>> A =
>>> A

{:10_254:}

青出于蓝 发表于 2021-8-9 22:35:54

很简单,a列表有1个值,而程序调用了3次

Python初学者8号 发表于 2021-8-10 09:10:15

for i in range(3):表示,i会从0 ,1,2变化。
于是就有:
i= 1A =
i=2,A =
i=3,A =
你的本意是不是增加A的个数啊,那么你就要按照语法来,使用append方法,否则你的A只有一个元素,其对应的索引index为0,因此1,2,3就超出了index的范围(index out of range)
正确的可以这么写
A =
for i in range(3):
    A.append(A)
print(A)

希望能帮助到你{:10_279:}
页: [1]
查看完整版本: python新手求助