A,B = map(int,input().split())
matrix = []
for i in range(A):
matrix.append(list(input()))
taker = [[-1,-1][-1,0][-1,1][1,-1][1,0][1,1][0,-1][0,0][0,1]]
count=0
for a in range(A):
for b in range(B):
if matrix[a][b] == '*':
print(matrix[a][b], end= '')
elif matrix[a][b] == '.':
for x,y in taker:
if (matrix[a+x][b+y] == '*') and A > a+x >=0 and B> b+y >= 0:
count+=1
print(count, end='')
else:
print(matrix[a][b], end= '')
print()
실행되지 않는 코드라고 나오는데 이유를 모르겠습니다. 조언 부탁드립니다.
IDLE에서 실행하면 코드가 실행되지 않습니다.
IDLE에서 실행되지 않으니 심사 서버에서도 실행되지 않습니다. 심사 서버의 문제가 아닙니다.
/tmp/341958019/main.py:9: SyntaxWarning: list indices must be integers or slices, not tuple; perhaps you missed a comma? taker = [[-1,-1][-1,0][-1,1][1,-1][1,0][1,1][0,-1][0,0][0,1]]항목을 보면 9번 줄에서 SyntaxWarning입니다. 문법 경고입니다.
taker 항목이 틀렸다는 것도 알 수 있습니다. 문제가 되는 코드가 표시되어 있습니다.
list indices must be integers or slices, not tuple; perhaps you missed a comma?indices는 index의 복수형입니다.
메시지를 해석하면
리스트 인덱스는 정수이거나 슬라이서이어야 하고, 튜플이 아닙니다. 그것도 아니라면 당신은 아마도 콤마를 생략했을 겁니다.
라는 뜻입니다.
메시지를 잘 읽으면 문제를 알 수 있고, 해법도 생각할 수 있습니다.