본문 바로가기
Python

파이썬 초급 #017 조건문 if- else 블럭, indentation error

by Smart Factory in 2020 2022. 1. 25.
728x90
반응형

안녕하세요. 스마트 팩토리입니다 
파이썬 초급 #017 조건문 if- else 블럭, indentation error에 대해 알아보겠습니다. 문장에서 들여쓰기는 매우 중요합니다 한글에서도 그 의미나 가독성면에서 뛰어쓰기는 중요합니다. 하지만 컴퓨터 프로그래밍에서 특히 파이썬에서 들여쓰기가 되지 않으면 자칫 다른 코드로 인식하여 에러를 발생하거나, 다른 값을 초래할 수 있습니다. 그렇기에 들여쓰기의 중요성을 다시한번 알아보는 시간을 가져보겠습니다 

 

1. 조건문 블럭과 들여쓰기, indentationn error

가. 조건문 블럭

(1) 조건문 블럭 
-  if 조건문에서 조건이 참일 경우 : 이후 코드는 블럭을 형성하여 조건문과 상생한다.  거짓일 경우 else : 이후의 내용은  하나의 블럭처럼 실행된다. 
- 조건문 코드의 블럭 내에서는 들여쓰기  indentation이 맞아야 한다. 
- 들여쓰기 규칙이 올바르지 않으면 indentationn error문구가 발생하며, 코드로 실행되지 않는다. 

 

score=int(input(" 점수를 입력하세요"))

if score>=90:
    print("축하합니다.")
    print("합격입니다.")

else :
    print("불합격입니다.")
    print("다시 도전하세요.")

 

위 코드를 잠시 보면 if- else 를 기점으로 들여쓰기기 된 것을 볼 수 있습니다. 여기서 들여쓰기는 조건문이나 반복문에서 상당히 중요합니다. 들여쓰기 하나가 프로그램 코드에 에러를 가져옵니다. 

 

 

 

들여쓰기 하나 틀려서 에러가 발생했습니다. 

IndentationError: unexpected indent 예상치 못한 들여쓰기입니다. ㅋㅋ

처음에는 코드가 간단하기 때문에 큰 문제가 없어 보이지만 코드가 길어지면 이또한 큰 문제를 가져옵니다. 

 

여기서 하나 생각해 볼 것은 블럭입니다. 

위에서 노란색으로 된 부분이 문장들이 가지런하게 블럭을 만들었다고 할 수 있습니다. 이는 조건문에서 if문과 else 문 에서 같은 영역이라는 의미로 생각하면 됩니다. 결과적으로 블럭은 해당 조건을 만족할 경우 실행하는 코드들의 묶음으로 보면 될듯합니다. 당연히 같은 영역의 코드이기에 들여쓰기를 일치시켜야 한다고 보면 됩니다. 

그렇지 않으면 파이참에서 알아서 에러를 만들어 버립니다. 

들여쓰기는 한칸 차이로 의미가 달라기지 때문에 앞으로 코드가 복잡해지면 분명하게 구분해야 해야 하기에 매우 중요합니다. 

파이참을 그런 면에서 들여쓰기와 더불어 변수나 조건을 나타내는 명령어에 색으로 구분하여 놓아서 코드의 가독성은 좋다고 할 수 있습니다. 

 

score=int(input(" 점수를 입력하세요"))

if score>=90:
    print("축하합니다.")
    print("합격입니다.")

else :
    print("불합격입니다.")
    print("다시 도전하세요.")

 

728x90
반응형

댓글