faqclh 发表于 2019-10-18 20:21:53

问下大佬为什么把这个等于号删了就不报错

a=
c=len(a)
b=[]
d=0
while d<=c :
    if a<10:
      b.append(a)   
    d=d+1
else:
    print(b)
我想做一个可以用特定条件筛选数组的程序,但报错if a<10: IndexError: list index out of range 但我把第五行while那个等于号删了就可以正常运行,求教大佬这是为啥,第二天学python脑子有点晕{:5_103:}

zltzlt 发表于 2019-10-18 20:34:55

因为 c 为 10,而 d <= c 当 d 为 10 时依然满足条件。a 越界,最大应为 a,所以 d <= c 应改为 d < c,这样当 d = 10 就不满足条件了。

faqclh 发表于 2019-10-18 20:46:02

zltzlt 发表于 2019-10-18 20:34
因为 c 为 10,而 d

感谢{:5_105:}

18511353234 发表于 2019-10-20 16:12:36

看来得学学报错信息的含义
页: [1]
查看完整版本: 问下大佬为什么把这个等于号删了就不报错