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

조회수 4098회
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] == '.'): 이부분이 바뀌어있는 코드엿는데 이 두 라인을 바꾸니까 갑자기 들여쓰기오류라고나오는데 어느부분이 잘못된건지 모르겠습니다..;

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

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

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

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)