그 위치가 유효한 인덱스인지 그리드 시스템에서 시각적으로 서로 인접 해 있는지 (즉, count_neighbor 함수 이름) 위치를 확인하려고합니다. 8 행에서 올바르지 않은 필터링을 수행하기 전에 if 문을 의미하는 IndexError가 발생하고 있거나 테스트중인 다른 셀 옆에 ifEntry가 있습니다. 나는왜이 IndexError가 발생합니까?
def count_neighbours(grid, row, col):
count = 0
neighbors = ((1,0),(1,-1),(1,1),
(0,1),(0,-1),
(-1,0),(-1,-1),(-1,1))
for x,y in neighbors:
if row+x >= 0 and col+y >= 0 and row+x < len(grid)-1 and col+y < len(grid)-1:
if grid[row+x][col+y] == 1:
count += 1
return count
print count_neighbours(((1,0,1,0,1),
(0,1,0,1,0),
(1,0,1,0,1),
(0,1,0,1,0),
(1,0,1,0,1),
(0,1,0,1,0)),5,4)
오류 .. 이유를 알아낼 수 없습니다
Traceback (most recent call last):
File "test.py", line 17, in <module>
(0,1,0,1,0)),5,4)
File "test.py", line 8, in count_neighbours
if grid[row+x][col+y] == 1:
IndexError: tuple index out of range
는 전체 오류 추적을 게시하시기 바랍니다! 문제가 어디 있는지 알려주는 부분입니다. –
"x가 경계에 있거나 y가 경계에 있는지"를 확인하고 있습니다. 's/또는 /와 /'. – ch3ka
@ ck3ka :'s/comment/answer /' – DSM