我用python写了一个代码,但是我遇到了这个错误:
if a1[i] == a1[i+1] == a1[i+2]:
IndexError: list index out of range
我写了一个if条件,如果我的列表长度小于3,则打破for,但是它不起作用。
我的代码:
numb = int(input())
a1 = []
a2 = []
a = 0
a1 = [int(i) for i in input().split()]
for i in range(0, numb):
a2.append("empty")
for i in range(0, len(a1)-2):
if len(a1) < 3:
break
else:
if a1[i] == a1[i+1] == a1[i+2]:
a = a + 1
a2[i] = a
a2[i+1] = a
a2[i+2] = a
a1.remove(a1[i+2])
a1.remove(a1[i+1])
a1.remove(a1[i])
为什么我遇到此错误? 是我的条件不起作用吗?
对于Addision,我很抱歉在我的问题中写错了。
答案 0 :(得分:0)
您的循环从0
到len(a1)-2
,而您只应转到len(a1)-3
:
使用i
时,让i
从0
到len(a1)-1
。
当您使用i
和i+1
时,让i
从0
到len(a1)-2
。
当您使用i
,i+1
和i+2
时,让i
从0
到len(a1)-3
。