[05]Python 제어문 다루기1 (조건문)

조건문(IF문)

주어진 조건을 판단한 후 해당 조건에 맞는 명령문을 실행시키는 것을 말한다.

IF문의 기본적인 구조는

if 조건문:
수행할 명령1
수행할 명령2
수행할 명령3
else:
수행할 명령1
수행할 명령2
수행할 명령3

위와 같다. if문장의 주건문이 참이면, if문 블록을 수행하고, 거짓이면 else문블록을 수행한다.

1

 

구체적인 예로 설명하기 위해

“만약 주머니에 쿠키가 있다면 먹고, 없다면 편의점을 간다.”  를 코드로 만들어보려고 한다.


pocket = ['card', 'cookies', 'cellphone']
if 'cookies' in pocket:
    print("쿠키를 먹어라")
else:
    print("편의점을 가라")

첫번째 줄에서, pocket리스트에 card, cookies, cellphone을 선언해주었다.
if문을 이용해 만약 pocket안에 cookies가 있으면(조건문이 참일 경우) 그 쿠키를 먹는 명령문을 출력하게 하였고, 조건문이 거짓일 경우엔 편의점에 가는 명령문을 출력하게 하였다.

pocket안에 cookies가 있으므로 조건문은 참이되고, if문 블록의 결과값을 출력한다.

2
결과창에 ‘쿠키를 먹어라’ 가 출력되었음을 볼 수 있다.

블록문과 들여쓰기

  • 블록문

블록문이란 한 집합으로 실행이 되는 소스 코드의 집합을 말한다.
대부분의 프로그래밍 언어는 블록문으로 { }을 이용한다.
자바로 예시를 들자면,


if(i == 1)
{
system.out.println("i는 참입니다.");
}
else
{
system.out.prinln("i는 거짓입니다.");
}

if문 아래 한 집합으로 실행되는 소스코드를 {와 }로 묶어준 것을 볼 수 있다.
else문도 마찬가지로 {}사이에 소스코드가 들어있는 것을 볼 수 있다.
‘ { ‘는 소스코드의 시작, ‘ } ‘는 소스코드의 끝을 나타내 준다.

하지만 파이썬은 항상 ‘ : ‘로 소스코드가 시작하지만, 끝을 나타내는 문자가 없다는 점이 다른 프로그래밍 언어와 다른점이라 볼 수 있다.
소스코드로 예시를 보여주자면,


pocket = ['card', 'cookies', 'cellphone']
if 'cookies' in pocket:
    print("쿠키를 먹어라")
else:
    print("편의점을 가라")

if조건문 다음에는 항상 콜론기호’ : ‘가 붙는다.
else문 다음에도 :를 이용해 else문의 시작을 알려준다.

  • 들여쓰기

    위에서 블록문을 설명했는데, 파이썬에서 조건문의 시작은 :로 나타내지만 끝은 따로 표시하는 것이 없다는 것을 알 수 있었다.
    그러므로 파이썬에서는 구조를 파악하기 위해 들여쓰기가 중요하다.

1

위 그림에서 네모칸의 크기가 같은 것을 볼 수 있다. if문에서 두번째줄에 있는 print문을 입력하기 위해 띄어쓰기를 4번했는데, else문도 if문에 맞춰 print문을 입력하기 위해 띄어쓰기를 4번하고 입력해야한다.
보통 프로그래머들은 띄어쓰기를 4번하거나 탭을 한번 누르는 것으로 들여쓰기를 맞춰준다

if문 중첩

if문 중첩은 if문 조건을 여러번 사용할 때를 말한다.
코드로 바로 예시를 보여주자면,
4
먼저 크게 세조건을 빨간 네모칸으로 표시했다.
신호등 색이 파란불일 경우, 빨간불일 경우, 그 외 모든 경우의 수 이렇게 세 가지이다.

위에서 if문 기본 구조로 if와 else를 설명했는데, 조건이 두가지 이상일 경우에는 elif를 이용한다.

if 조건문:
수행할 명령1
elif:
수행할 명령1
else:
수행할 명령1

그렇다면 조건이 4가지라면 어떻게 표현할까?
if 조건문:
수행할 명령1
elif:
수행할 명령1
elif:
수행할 명령1
else:
수행할 명령1

위 처럼 표현한다.

파란 네모칸은 신호등이 파란불일 경우, 일어날 수 있는 경우의 수를 표현했다.
신호등이 파란불이면서 건널 준비가 되었으면 건너는 경우의 수 하나, 그렇지 않으면 건너지 않는 경우의 수 하나 이렇게 두 가지 이다.

3

위 코드의 결과창은 이와같다.

댓글 남기기