Python에서 IF문을 사용하는 방법에 대해 알아볼께요. 우리는 살아가면서 항상 고민을 합니다. 오늘 점심은 뭐 먹지? 기분이 좋으면 짜장면을 먹고 기분이 별로 안좋으면 울면을 먹을까? 스트레스를 받을 때는 불닭볶음면을 먹을까? 이러한 고민들은 언제나 우리를 따라 다닙니다.
어떠한 조건을 성립할 때 어떻게 해라... 라고 프로그래밍 할 수 있는 것이 IF문입니다.
IF문 문법
if 조건문:
처리문
...
elif 조건문1:
처리문
...
elif 조건문2:
처리문
...
else:
처리문
...
IF문에서 if 조건문은 필수로 시작되어야 하는 구문이고, elif와 else는 필요할 때 선언해서 사용하시면 됩니다. 그리고 elif문은 2개 이상 사용 가능합니다. 예제를 따라하시면서 차근차근 이해해보도록 할께요.
파이썬의 들여쓰기
if문의 처리문은 들여쓰기가 굉장히 중요합니다. 들여쓰기가 되느냐, 안되느냐에 따라 조건이 성립할 수도 있고, 성립하지 않을 수도 있습니다. 파이썬에서 들여쓰기는 키보드의 탭(Tab)키 또는 스페이스(space) 네 칸을 입력하시면 됩니다. 일반적으로 탭(Tab)키를 이용해서 들여쓰기를 합니다.
만약, 들여쓰기를 제대로 하지 않는다면 어떻게 될까요? 아래와 같은 오류가 발생됩니다.
>>> areYouHandsome = True
>>> if areYouHandSome:
... print("넌 잘생겼어")
File "<stdin>", line 2
print("넌 잘생겼어")
^
IndentationError: expected an indented block
들여쓰기를 제대로 한다면 아래와 같이 정상적으로 출력이 됩니다.
>>> areYouHandsome = True
>>> if areYouHandsome:
... print("넌 잘생겼어")
...
넌 잘생겼어
IF문과 ELIF문
내가 기분이 좋을 때 짜장면을 먹겠다는 것을 먼저 코딩해볼께요.
Python 인터프리터를 먼저 실행해주세요. 그리고 따라서 입력해주세요.
>>> feeling = "Good"
>>> if feeling == "Good":
... print("짜장면 먹자!")
...
짜장면 먹자!
기분이 좋을때는 짜장면을 먹고 기분이 좋지 않을 때는 울면, 스트레스를 받을 때는 불닭볶음면을 먹는 예제를 코딩을 통해 알아볼께요.
>>> feeling = "Stressful"
>>> if feeling == "Good":
... print("짜장면 먹자!")
... elif feeling == "Depressed":
... print("울면 먹자!")
... elif feeling == "Stressful":
... print("불닭볶음면 먹자!")
...
불닭볶음면 먹자!
현재의 기분을 Stressful로 feeling이라는 변수로 지정하였고, feeling이 Good이면 짜장면, feeling이 Depressed라면 울면, feeling이 Stressful이라면 불닭볶음면을 먹도록 코딩이 되었습니다. feeling 값을 바꾸어 가면서 테스트 해보세요.
>>> haveMoney = False
>>> if feeling == "Good":
... if haveMoney:
... print("짜장면 먹자!")
... print("친구한테 아무거나 먹어먹자!")
... else:
... print("돈까스 먹자!")
...
친구한테 아무거나 먹어먹자!
ELSE문 추가
IF문에서 조건을 정하기 어렵거나 다른 조건이 만족하지 않을 경우 처리할 수 있도록 해주는 것이 ELSE문입니다.
만약, 내가 기분에 따라 짜장면을 먹을지, 울면을 먹을지, 불닭볶음면을 먹을지 정했는데 나의 기분이 그 기분들에 해당하지 않을 때는 돈까스를 먹고 싶다고 한다면 위의 예제에서 ELSE문을 추가해서 작성하시면 됩니다.
>>> feeling = "Tired"
>>> if feeling == "Good":
... print("짜장면 먹자!")
... elif feeling == "Depressed":
... print("울면 먹자!")
... elif feeling == "Stressful":
... print("불닭볶음면 먹자!")
... else:
... print("돈까스 먹자!")
...
돈까스 먹자!
if문 또는 else만을 이용해서 작성할 수도 있습니다.
>>> feeling = "Tired"
>>> if feeling == "Good":
... print("짜장면 먹자!")
... else:
... print("돈까스 먹자!")
...
돈까스 먹자!
그런데 여기서! 다른 상황이 생겼습니다. 내가 기분이 좋을 때 짜장면을 먹기로 했는데 만약 돈이 없으면 어떡하죠? 그럴 땐 친구한테 얻어먹자는 코드를 추가해볼께요.
>>> feeling = "Good"
>>> haveMoney = False
>>> if feeling == "Good":
... if haveMoney:
... print("돈까스 먹자!")
... print("친구한테 아무거나 먹어먹자!")
... else:
... print("돈까스 먹자!")
...
친구한테 아무거나 먹어먹자!
이와 같이 여러 상황에 대해 중첩하여 if문을 작성하실 수도 있습니다. if문은 중첩을 2개, 3개 이상 사용할 수 있지만 중첩이 2개가 넘어가면 좋은 프로그래밍 코드라고 할 수 없습니다. 왜냐하면, 코드를 보기가 어려워지기 때문이에요. 프로그램을 만들어가며 경험이 쌓이고 개발을 잘하는 다른 사람들의 작성된 코드들을 보다보면 어떤식으로 작성되는 코드가 좋은지 어떤 식으로 작성을 해야 좋은 코드가 되는지 알게 될거에요. 코딩 능력 향상을 위해 Star수가 많은 Github의 코드들을 분석해보는 것도 좋은 방법입니다.
여기까지 포스팅을 읽어주시고 따라해주신 것 감사합니다.
댓글