본문 바로가기
Programming Language/Python

파이썬 - (if 제어문)

by Notorious Coder 2023. 7. 8.

if 문이 왜 필요한지는 일상 생활을 하면서도 충분히 느낄 수 있다. "계란을 삶는데 10분이 지나면, 가스불을 꺼야겠다." 라든지 "우유를 사는데 A회사의 제품이 B회사의 제품보다 할인이 더 된다면, A회사 우유를 사야겠다." 등 주어진 조건을 판단한 후 그 상황에 맞게 일을 처리해야 하는 것은 익숙하고도 당연하다. 프로그래밍에서도 마찬가지이다. 예시를 이용해서 파이썬에서는 조건문이 어떻게 구현되는지 간단히 보고 넘어가겠다. 

 

 

 

 

 

if 문 다음의 변수가 True여야 실행되고, 그게 아니면 else 문 다음 문장들을 수행하게 된다. 그리고 if 문을 쓸 때는 주의사항이 있는데, 바로 들여쓰기를 해야 파이썬이 이해한다는 것이다. 위의 print 문들이 모두 들여쓰기 처리되어 있는 것을 확인할 수 있다. 수행할 문장들은 언제나 같은 깊이의 들여쓰기로 처리해야 한다. 이제 조건문에서 다양한 비교 연산자를 사용하는 법에 대해 알아보자. 일단 간단하게 표로 나타내보고 코드로 구현해보겠다. 

 

 

비교 연산자 의미
X < Y X는 Y보다 작다.
X > Y X는 Y보다 크다.
X == Y X와 Y는 같다. 
X != Y X와 Y는 같지 않다. 
X >= Y X는 Y보다 크거나 같다.
X <= Y X는 Y보다 작거나 같다.

 

 

 

 

 

위 코드는 계란을 삶을 때 현재 시간이 8분이라는 것을 time = 8이라고 설정하였고, "만약 10분이 지난다면 가스불을 끄고, 그렇지 않다면 가스불을 유지해라" 라는 if 문이다. 현재 time = 8 이므로 time >= 10 이라는 조건문이 거짓으로 판정된 상태이므로 else 문 다음 문장이 실행된 것을 알 수 있다. 상황에 따라 알맞은 비교 연산자를 사용하면 된다. 그리고 조건을 판단하는 다른 연산자들도 있다. 바로 and, or, not 이다. and는 모두 참이어야 참이고, or는 둘 중 하나만 참이어도 참이다. not은 어떤 조건이 거짓이어야 참이다. 다시 위에 했던 예시를 각색해보겠다. 만약에 시간이 8분 밖에 지나지 않아도 가스 사고 같은 비상 상황이 발생한다면 가스불을 꺼야 한다는 설정을 코드로 구현해보겠다. 

 

 

 

 

 

비상 상황 emer을 참으로 설정하고 시간이 10분이 경과하거나 비상 상황이 발생했다면, 가스불을 끄라는 구문으로 해석된다. time >= 10 조건문을 만족하지 못해도 emer 조건문이 참이기 때문에 if 문 다음 문장들이 실행된다. 

 

또, 파이썬에는 in과 not in과 같은 조건문도 존재한다. 리스트나 튜플, 문자열 안에 어떤 값의 유무로 판단할 수 있다. 간단히 어떻게 사용하는지만 보고 넘어가자.

 

 

 

 

 

그리고 조건문을 구현할 때 조건에 만족해도 아무 일도 하지 않게 설정해야 할 일이 있을 수도 있다. 이때는 수행할 문장 대신 pass 문을 입력하면 된다. 또한 조건문이 단순히 이것 아니면 저것과 같이 이분법적 상황이 아니라 더 다양하고 복잡하게 구현해야 할 경우가 다반사이다. 이때 elif 문을 사용하면 된다. 예시 코드를 작성해보겠다. 

 

 

 

 

 

 

보다시피 elif 문은 개수에 상관없이 마음대로 사용할 수 있고 만약 False이면 다음 구문으로 순차적으로 이동하고 True라고 판단된 문장을 만나면 그 문장만 출력한다. 또한 파이썬에서는 조건부 표현식이라는 것도 있는데 이는 조건문을 좀 더 간소화시킬 수 있다. 예를 들어, 점수가 70점 이상이면 "합격", 그렇지 않으면 "불합격"을 출력하는 if 문이 있다고 가정하자. 

 

 

 

 

 

위처럼 한 줄로 간단하게 요약이 가능하다. 표현식을 다시 알아보기 쉽게 정리하자면, 

"변수 = 조건문이 참인 경우의 값 if 조건문 else 조건문이 거짓인 경우의 값" 으로 정리할 수 있다. 조건부 표현식을 사용하면 가독성도 좋고 한 줄로 작성할 수 있어 용이하므로 잘 숙지해두자. 이제 조건문에 이어 반복문 중의 하나인 while 문에 대해 알아보자. 

 

 

 

파이썬 프로그래밍에 관한 글은 "이지스퍼블리싱"의 "Do it!, 점프 투 파이썬"이라는 책을 학습하고 정리한 것입니다.