본문 바로가기
파이썬

파이썬 Indentation of IF-ELSE block in python

by º기록 2021. 2. 9.
반응형

안녕하세요 저는 파이썬 초보자이고 파이썬을 사용하여 NLP에서 일하고 있습니다. 파이썬에서 if-else 블록을 작성하는 데 오류가 있습니다. 그 당시 블록이 잘 작동하는 경우에만 쓸 때 :

if xyzzy.endswith('l'):
    print xyzzy

콜론을 입력 한 후 Enter 키를 누르면 자동으로 올바른 들여 쓰기로 이동합니다.

하지만 print 문 뒤에 "Enter"키를 누른 후 else 블록을 추가하려고 할 때, 그것은 IF 블록의 문장으로 간주하고 있기 때문에 다른 블록을 원할 때 잘못된 들여 쓰기를 제공하는 반면, 다른 블록을 작성하려고 할 때이 오류가 발생합니다.

else:  
   ^

IndentationError : 예기치 않은 들여 쓰기

그래서 print 문을 작성한 후 어떻게해야합니까? Enter는 커서를 앞으로 가져 가기 때문에 분명히 작동하지 않는 반면, 올바른 포인터에 도달하기 위해 공백을 사용하면 오류가 발생합니다.

 

해결 방법

 

게시물에서 문제가 무엇인지 확인하기 어렵지만 if-else 는 다음과 같은 형식입니다.

 if someCondition:
     do_something       # could be a single statement, or a series of statements
 else:
     do_something_else  # could be a single statement, or a series of statements

즉, else 는 해당 if 동일한 수준에 있어야합니다.


때때로 편집기가 자동 들여 쓰기를하고 수동으로 편집 할 때도 일이 엉망이 될 수 있으므로 편집기가 들여 쓰기를 처리하는 방법을 파악해야합니다 (예 : 항상 또는 공백을 사용합니까? , 반환 등을 누르면 어떻게 되나요?).

또한 탭과 공백을 혼합하지 않도록주의 하면 문제가 발생할 수도 있습니다 (둘 다 "보이지 않음"이므로 찾기가 어렵습니다).

업데이트 된 게시물 :

   if xyzzy.endswith('l'):
       print xyzzy
   else:
       something_else

 

참조 페이지 https://stackoverflow.com/questions/12267119

 

 

반응형

댓글