python 들여쓰기 오류라고나오는데 뭐가 잘못된건지 모르겠습니다.


col, row = map(int,input().split())
x = [-1, 0, 1, 1]
y = [0, 1, 0, 1]
cnt = 0
mat = []
for i in range(row):
    mat.append(list(input()))

for i in range(row):
    for j in range(col):
        if(mat[i][j] == '.'):
            for k in range(4):
                if(i+x[k]<0 or i+x[k] >= col or j+y[k]<0 or j+y[k] >= row):
                    continue
                if(mat[i+x[k]][j+y[k]]=='*'):
                    cnt+=1
            mat[i][j] = cnt
            cnt = 0

print(mat)

원래 기존 코드는 for k in range(4): 이부분과 if(mat[i][j] == '.'): 이부분이 바뀌어있는 코드엿는데 이 두 라인을 바꾸니까 갑자기 들여쓰기오류라고나오는데 어느부분이 잘못된건지 모르겠습니다..;

  • 2017년 12월 25일에 작성됨

조회수 95


Banner bitmango

1 답변


좋아요
1
싫어요
채택취소하기

파이썬은 들여쓰기가 중요한 언어라서 tab과 space 를 구분을 합니다.

즉 탭으로 들여쓰기를 했으면 전부 탭으로 해야지 스페이스 4개를 넣으면 그건 문법오류입니다.

해결하는 쉬운 방법은 고급에디터(vim, 울트라에디트, 노트패드++, 이클립스 등)에서 모든 공백을 스페이스 혹은 탭으로 일괄변경하는 겁니다.

  • 2017년 12월 25일에 작성됨

  • 모든 공백을 일괄변경하는 방법을 알수있을까요? 저게 일부분을 스페이스로 넣엇다기보단 두 라인을 바꾸는 과정에 Cntl+x로 잘라내기해서 붙여넣기해서 탭으로 들여쓰기부분 조정한건데 모두다 탭만썻는데 오류가 나와서..    Hedic   2017.12.27 13:44     
  • notepad++ 기준으로 '편집->공백기능' 에 있습니다.    정영훈   2017.12.27 14:43     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close