[Python 기초] 08. if문

김나연·2021년 8월 4일
0

Python

목록 보기
8/18
post-thumbnail

if문

"돈이 있으면 택시를 타고, 돈이 없으면 걸어간다."
우리에게 일어날 수 있는 상황 중 하나이다. 이렇게 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰는 것이 바로 if문이다.

>>> money = True
>>> if money:
...	print("택시를 타고 가라")
... else:
...	print("걸어가라")
...
택시를 타고 가라

money에 True를 입력했으므로 money는 참이다. 따라서 if문 다음 문장이 수행되어 '택시를 타고 가라'가 출력된다.

if문의 기본 구조

if 조건문:
    수행할 문장1
    수행할 문장2
    ...
else:
    수행할 문장A
    수행할 문장B
    ...
    

조건문을 테스트해서 참이면 if문 바로 다음 문장들을 수행하고, 조건문이 거짓이면 else문 다음 문장을 수행하게 된다. else문은 if문 없이 독립적으로 사용할 수 없다.

if문의 들여쓰기

들여쓰기는 if문에 속하는 모든 문장에 들여쓰기를 해주어야 한다.

if 조건문:
    수행할 문장1
    수행할 문장2
    수행할 문장3
    
#올바르게 들여쓰기 한 경우
if 조건문:
   수행할 문장1
수행할 문장2
   수행할 문장3
   
#'수행할 문장2'를 들여쓰기하지 않아 오류발생

조건문이란

if 조건문에서 "조건문"은 참과 거짓을 판단하는 문장이다.
if money = True에서 조건문인 money는 True이므로 조건이 참이 되어 if문 다음 문장을 수행할 수 있게 된다.

비교연산자

조건문의 비교연산자에 대한 설명이다.
if문에서는 비교연산자를 다음 예와 같이 사용할 수 있다.

>>> money = 2000
>>> if money >= 3000:
...	print("택시를 타고 가라")
... else:
...	print("걸어가라")
...
걸어가라

다음 예시를 설명하면 "만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 그렇지 않으면 걸어가라" 이다.

위의 예시에서 money가 2000이므로 money >= 3000 조건문이 거짓이 된다. 그러므로 else문의 다음 문장이 수행된다.

and, or, not

  • x or y : x와 y 둘중에 하나만 참이어도 참이다.
  • x and y : x와 y 모두 참이어야 참이다.
  • not x : x가 거짓이면 참이다.
>>> money = 2000
>>> card = True
>>> if money >= 3000 or card:
...	print("택시를 타고 가라")
...else:
...	print("걸어가라")
...
택시를 타고 가라

위의 예시는 "돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어 가라" 이다.

money는 2000이지만 card가 True이므로 money >= 3000 or card 조건문이 참이 된다. 따라서 if문 다음 '택시를 타고 가라' 문장이 출력된다.

x in s, x not in s

>>> 1 in [1, 2, 3]
True
# [1, 2, 3]이라는 리스트 안에 1이 있는가?
# 1은 [1, 2, 3] 안에 있으므로 True를 돌려준다.

>>> 1 not in [1, 2, 3]
False
# [1, 2, 3] 리스트 안에 1이 없는가?
# 1은 [1, 2, 3] 안에 있으므로 거짓이 되어 False를 돌려준다.

다음 예시는 택시 예제에 in을 적용한 것이다.

>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket:
...	print("택시를 타고 가라")
... else:
...	print("걸어가라")
...
택시를 타고 가라

['paper', 'cellphone', 'money'] 리스트 안에 'money'가 있으므로 'money' in pockey은 참이 된다.

다양한 조건을 판단하는 elif

"주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어 가라."

위 문장을 elif를 사용하여 코드로 옮기면 다음과 같다.

>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...	print("택시를 타고가라")
... elif card: 
...	print("택시를 타고가라")
... else:
...	print("걸어가라")
...
택시를 타고가라

elif문의 기본 구조

if <조건문>:
	<수행할 문장1>
	<수행할 문장2>
	...
elif <조건문>:
	<수행할 문장1>
	<수행할 문장2>
	... 
elif <조건문>:
	<수행할 문장1>
	<수행할 문장2>
	...
...
else:
	<수행할 문장1>
	<수행할 문장2>
	...

if, elif, else의 기본 구조이다. elif는 개수에 제한 없이 사용할 수 있다.

조건부 표현식

if score >= 60:
	message = "success"
else:
	message = "failure"

위 코드는 score가 60 이상일 경우 message에 문자열 "success"를, 아닐 경우에는 "failure"를 대입한다.

다음 코드에 조건부 표현식을 사용하면 더 간단하게 표현할 수 있다.

message = "success" if score >= 60 else "failure"

조건부 표현식은
조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우
로 정의한다.

profile
결국 무엇이든 해내는 사람 '김나연'입니다. 😎

0개의 댓글