top of page

#4. 파이썬 기본 4 - 조건문


ree




#4-1. if문과 else문



영어에서의 If 와 마찬가지로, 프로그래밍에서도 조건문이라는 것이 있습니다.

조건을 판단하여 그 조건에 맞는 상황을 수행하는 것입니다.


"만약 한식이면 불고기이고, 한식이 아니라면 일식이다."


라는 조건문이 있습니다. 이런 조건문을 python에서 사용한다면,


>>> Korea = True
... if Korea:
...     print("불고기")
... else:
...     print("일식")

이렇게 표현하면 됩니다. 해석을 해보자면,

"만약 Korea 라면, 불고기을 출력하고, 그것이 아니라면 일식을 출력하라" 는 뜻입니다.

그런데 맨 위에서 볼 수 있듯이 Korea 가 참입니다. 따라서 불고기을 출력하게 될 것입니다.

ree

여기서 하나를 더 알아낼 수 있는데, 바로 else의 용법입니다.

조건문을 사용하고, if문이 참이 아니라면 이라는 의미를 갖고 있는 것이 바로 else문입니다.

따라서, else문은 if문 없이 단독으로 쓰일 수 없습니다.

조건문이 참일 경우에는 if문을 수행하고, 거짓일 경우에는 else문을 수행하기 때문입니다.

그리고 두 가지 특징을 더 발견할 수 있습니다.




① 들여쓰기


>>> if 조건문:
...     수행할 문장(1)
...     수행할 문장(2)

조건문을 사용할 때에는 if문 아래에 수행할 문장들을 들여쓰기를 해야합니다.

수행할 문장들이 if문 안에 포함되어 있도록 만든다고 생각하시면 될 것 같습니다.


여기서 주의해야 할 점은, 들여쓰기를 했을 때, 수행할 문장 (1)과 (2)의 너비가 같아야 한다는 것입니다. 즉, (1)과 (2)의 앞에 공백의 너비가 같아야 합니다. 보통 들여쓰기를 할 때 사용하는 방법은 두 가지입니다.


첫 번째는 공백(space bar)을 4번 사용하는 것입니다.

두 번째는 탭 키(tab)를 1번 사용하는 것입니다.


두 가지 중 어떤 방법을 쓰든 상관은 없지만, 한 문장에서 둘을 혼용하지 않는 것이 좋습니다. 한 가지 방법을 선택했다면, 끝까지 그 방법으로 밀고 가야 하는 것입니다.




② 조건문 다음에 콜론( : ) 을 사용하기


위의 예문을 확인해 보면, if 조건문이 나온 다음 마지막에 : 를 사용해 준 것을 볼 수 있습니다.

python에서는 : 을 통해 들여쓰기를 하도록 만들었기 때문에 꼭 사용해 주어야 합니다.

들여쓰기를 할 때에는 꼭 : 을 써준다고 생각하시면 앞으로도 편리할 것 같습니다.




#4-2. if문의 연산자



① 비교연산자


조건문에서 쓰는 비교연산자에 대해서 설명드리겠습니다.


비교연산자는 a<b , a>b , a==b , a!=b , a<=b , a>=b 이렇게 6가지가 있는데요,


각각 a가 b보다 작다 , a가 b보다 크다 , a와 b가 같다 , a와 b가 같지 않다 ,

a가 b보다 작거나 같다 , a가 b보다 크거나 같다 라는 의미입니다.


>>> a = 5
>>> b = 7
>>> print(a<b)  # 5<7 : True
>>> print(a>b)  # 5>7 : False
>>> print(a==b)  # 5=7 : False
>>> print(a!=b)  # 5≠7 : True
>>> print(a<=b)  # 5≤7 : True
>>> print(a>=b)  # 5≥7 : False

예를 들어 6가지 경우를 모두 출력해 보겠습니다. a=5 이고 b=7입니다.

옆에 참조처럼 값이 print될 것입니다.

ree

값이 잘 출력된 것을 볼 수 있습니다.


이것을 이용하여 더 자세히 예를 들어 보겠습니다.


" 가격이 8000원 이하면 구매하고, 그렇지 않으면 구매하지 않을것이다. "

위와 같은 상황에서 표현해보겠습니다.


>>> price = 8000  # 가격이 8000원이다.
>>> if price<=8000:  # 만약 가격이 8000원 이하라면
>>>     print("purchase")  # 구매
>>> else: # 그렇지 않으면
>>>     print("not purchase")  # 구매하지 않는다.

이렇게 구성하면 될 것입니다. 가격이 8000원으로 if문이 True가 될 것이므로,

값은 " purchase " 가 출력될 것입니다.

ree



② and , or , not


a and b 라고 표현한다면, a와 b가 모두 True 이어야만 if문이 True로 평가됩니다.

a or b 라고 표현한다면, a 또는 b 둘 중 하나가 True 라면 if문이 True로 평가됩니다.

not a 라고 표현한다면, a가 False일 경우, if문이 True로 평가됩니다.


표로 정리하면 다음과 같습니다.

ree

예문을 통해 보겠습니다.


" 가격이 5000원 이하이거나, 할인 행사 중이면 구매하고, 그렇지 않으면 구매하지 않겠다." 를

표현해 보겠습니다.


>>> price = 8000
>>> discount = True  # 할인행사는 True입니다.
>>> if price<=5000 or discount:
>>>     print("purchase")
>>> else:
>>>     print("not purchase")

할인행사는 True이기 때문에, if문이 True로 평가되어 purchase를 print 할 것입니다.


ree

잘 출력된 것을 볼 수 있습니다.




③ in, not in


영어에서 in의 의미(~안에)를 생각해 본다면, 쉽게 이해할 수 있을 것입니다.


>>> 1 in [1,2,3]  # 1은 [1,2,3]안에 있다 -> True
>>> 3 not in [1,2,3]  # 3은 [1,2,3]안에 없다 -> False

이렇게 코드를 print한다면, 윗줄은 True, 아랫줄은 False가 될 것입니다.




④ pass


조건문을 작성할 때, 아무 것도 실행시키고 싶지 않을 때가 있을 수 있습니다.

그럴 때 쓰는 것이 바로 pass 입니다.


>>> wallet = [7000, "card", "photo"]
>>> if 8000 not in wallet:
>>>     pass
>>> else:
>>>     print("purchase")

"만약 8000원이 지갑 안에 없다면 가만히 있고, 그렇지 않다면 구매한다" 를 표현한다면,


ree

wallet 안에 8000원이 없기 때문에 pass 상태로 끝날 것입니다.

결국 아무 결과도 출력하지 않습니다.


추가적으로, pass문을 작성할 때, 수행할 문장을 콜론( : ) 뒤에 바로 써주면, 조금 더 짧게

코드를 짤 수 있습니다. 예를 들어 위의 pass문을 작성한다면,


>>> wallet = [7000,"card","photo"]
>>> if 8000 not in wallet: pass
>>> else: print("purchase")

이렇게 한 줄로 표현할 수 있습니다.

ree

같은 결과가 print됨을 확인할 수 있습니다.




#4-3. elif문


elif문은 여러가지의 조건문을 판단할 때 사용합니다. 예를 들어,

"지갑 안에 8000원이 있다면 구매하고, 8000원이 없지만 카드가 있으면 구매하고, 8000원도 없고, 카드도 없으면 구매하지 않는다." 라는 문장을 코드로 표현한다면, 조건문을 2개를 사용해야 합니다. 우리가 지금까지 배운 것을 토대로 위 문장을 코드로 표현해보면

>>> wallet = [7000,"card","photo"]
>>> if 8000 in wallet:
>>>     print("purchase")
>>> else:
>>>     if card in wallet:
>>>         print("purchase")
>>>     else:
>>>         print("not purchase")

위와 같이 상당히 긴 코드가 작성될 것입니다.


이렇게 if와 else문을 여러개 사용하는 긴 코드를 조금 간단하게 줄여주는 것elif문입니다.

위의 예문은 이렇게 표현이 가능합니다.


>>> wallet = [7000, "card", "photo"]
>>> if 8000 in wallet:
>>>     print("purchase")
>>> elif "card":
>>>     print("purchase")
>>> else:
>>>     print("not purchase")

즉, elif는 if문이 거짓인 경우 수행됩니다. 추가적으로, elif는 if문과 else문 사이에

개수 제한 없이 여러 개를 사용할 수 있습니다.


ree

오류없이 잘 출력됩니다.



#4-4. 조건부 표현식


>>> message = "pass" if score>=80 else "fail"
>>> print(message)

조건부 표현식은 위와 같이 조건문을 한 문장으로 표현 하는 식입니다.


조건문이 참일 경우 실행문 + if문 + else + 조건문이 거짓일 경우 실행문 의 구조로

이루어져 있으며, 조건문을 한 문장으로 표현하기 때문에 가독성이 좋고 활용성이 높습니다.


ree

깔끔하게 잘 출력되는 것을 확인 할 수 있습니다.

댓글


PIA 로고3.png

피아스페이스(주) ㅣ 대표자 : 유현수 ㅣ 사업자번호 :  802-87-02235ㅣ 통신판매업 : 2021-대구달성-0505
본사 주소 : 대구광역시 달성군 구지면 국가산단서로71길 129, 사무동 2층 203호 피아스페이스 사무실 (대봉산업(주) 본관)
서울 사무소 : 서울특별시 서초구 바우뫼로 41길 8, 정훈빌딩 303호 (양재동 4-12)

​개인정보보호책임자 : 이성준 ㅣ 문의 : contact@pia.space
피아스페이스 (주) © 2021 모든 권리 보유.

  • 카톡채널
  • 유튜브
  • 페이스 북 - 흰색 원

Copyright © PIA SPACE. All rights reserved.

bottom of page