Во-первых, похоже, проблема в вашем коде. range
принимает целочисленный ввод, поэтому, если b
является целым числом, for i in range(b)
даст вам целые числа [0, 1, 2, .. , b-1 ]
в списке. Вы не можете индексировать в i
, используя []
, как в следующих двух строках.
Если b
не целое число, а коллекция, то вы должны использовать что-то вроде:
# Assuming b is a collection
for i in range(len(b)):
actual=b[i]
temp1=(actual[0]+1,actual[1])
temp2=(actual[0],actual[1]-1)
temp3=(actual[0],actual[1]+1)
temp4=(actual[0]-1,actual[1])
# Check if this is the first one. If it is, previous won't exist.
if i == 0:
continue
previous = b[i-1]
if previous in [ temp1, temp2, temp3, temp4 ]:
# This is what you want not to happen. Deal with it somehow.
pass