2.1 조건문¶
조건문 (Conditional Statement)
if 조건문
elif 복수 조건
2.1.1 if 조건문¶
if
문은 반드시 참/거짓을 판단할 수 있는 조건과 함께 사용이 되어야합니다.
활용법¶
문법¶
if <expression>:
<코드 블럭>
else:
<코드 블럭>
expression
에는 일반적으로 참/거짓에 대한 조건식이 들어갑니다.조건이 참인 경우
:
이후의 문장을 수행합니다.조건이 거짓인 경우
else:
이후의 문장을 수행합니다.여러 개의
elif
부가 있을 수 있고(없거나),else
는 선택적으로 사용합니다.
예시¶
if a > 0:
print('양수입니다.')
else:
print('음수입니다.')
Warning
이때 반드시 들여쓰기를 유의해야합니다.
파이썬에서는 코드 블록을 자바나 C언어의
{}
와 달리 들여쓰기로 판단하기 때문입니다.
앞으로 우리는 PEP 8에서 권장하는 4spaces를 사용합니다.

![[space vs tab]](https://user-images.githubusercontent.com/18046097/61180566-3ac50e80-a653-11e9-81a6-2f195eeb0a65.png)
출처 : 400,000 GitHub repositories, 1 billion files, 14 terabytes of code: Spaces or Tabs?
[연습] 크리스마스 판독기¶
조건문을 통해 사용자가 입력한 날짜가 크리스마스인지 확인하세요.
[입력 예시]
12/25
[출력 예시]
크리스마스입니다.
is_christmas = input('날짜를 입력해주세요 ex)12/24 : ')
날짜를 입력해주세요 ex)12/24 : 07/21
# 아래에 코드를 작성하세요.
# if 문을 활용해봅시다.
# is_christmas에 할당된 값이 '12/25'인 경우에는
# '크리스마스입니다 :)' 를 출력하고
# 그외의 경우에는 '크리스마스가 아닙니다 :(' 를 출력하는 코드를 작성하세요.
if is_christmas == '12/25':
print('크리스마스입니다 :)')
else:
print('크리스마스가 아닙니다 :(')
크리스마스가 아닙니다 :(
[실습] 홀/짝 판독기¶
조건문을 통해 변수 num의 값과 홀수/짝수 여부를 출력하세요.
[입력 예시]
3
[출력 예시]
홀수입니다.
num = int(input('숫자를 입력하세요 : '))
숫자를 입력하세요 : 3
# 아래에 코드를 작성하세요.
# if 문을 활용해봅시다.
# num에 할당된 값을 2로 나누었을때 나머지가 있는 경우에는 '홀수입니다.'를 출력하고
# num에 할당된 값이 2로 나누어 떨어지는 경우에는 '짝수입니다.'를 출력하는 코드를 작성하세요.
if num % 2: # 1이면 True 이므로
print('홀수입니다.')
else:
print('짝수입니다.')
홀수입니다.
2.1.2 elif 복수 조건¶
2개 이상의 조건을 활용할 경우 elif <조건>:
을 활용합니다.
if dust > 150:
print("매우나쁨")
elif <조건식>:
print("나쁨")
elif <조건식>:
print("보통")
else:
print("좋음")
[연습] 복수 조건문 연습¶
조건문을 통해 변수 score에 따른 평점을 출력하세요.
점수 |
등급 |
---|---|
90점 이상 |
A |
80점 이상 |
B |
70점 이상 |
C |
60점 이상 |
D |
60점 미만 |
F |
[입력 예시]
85
[출력 예시]
B
score = int(input('점수를 입력하세요 : '))
점수를 입력하세요 : 85
# 아래에 코드를 작성하세요.
# if, elif, else 문을 활용해봅시다.
# score에 할당된 값이 90 이상인 경우에는 'A'를 출력하고,
# score에 할당된 값이 90 미만, 80 이상인 경우에는 'B'를 출력하고,
# score에 할당된 값이 80 미만, 70 이상인 경우에는 'C'를 출력하고,
# score에 할당된 값이 70 미만, 60 이상인 경우에는 'D'를 출력하고,
# score에 할당된 값이 60 미만인 경우에는 'F'를 출력하는 코드를 작성하시오.
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('F')
B
# 조건문은 순서대로 조건식을 검증하므로 순서에 유의해야 한다.
# score 가 80점이지만 조건문의 순서에 따라 'B'를 출력하지 못하고 'D학점 이상'을 출력한다.
score = 80
if score >= 90:
print('A')
elif score >= 60:
print('D학점 이상')
elif score >= 80:
print('B')
D학점 이상
2.1.3 중첩 조건문¶
조건문은 다른 조건문에 중첩될 수도 있습니다. 이를 중첩 조건문(Nested Conditional Statement)이라고 합니다.
[연습] 중첩 조건문 활용¶
위 실습문제 2개 코드를 활용하여 95점 이상이면, “참 잘했어요”도 함께 출력해주세요.
[출력 예시]
A
참잘했어요.
score = 96
# 아래에 코드를 작성하세요.
# if, elif, else 문을 상황에 따라 중첩해서 활용해봅시다.
# score에 할당된 값이 90 이상인 경우에 일단 'A'를 출력하고,
# score에 할당된 값이 95 이상인 경우에는 추가적으로 '참 잘했어요.'를 출력하고,
# score에 할당된 값이 90 미만, 80 이상인 경우에는 'B'를 출력하고,
# score에 할당된 값이 80 미만, 70 이상인 경우에는 'C'를 출력하고,
# score에 할당된 값이 70 미만, 60 이상인 경우에는 'D'를 출력하고,
# score에 할당된 값이 60 미만인 경우에는 'F'를 출력하는 코드를 작성하시오.
if score >= 90:
print('A')
if score >= 95:
print('참 잘했어요.')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
else:
print('F')
A
참 잘했어요.
2.1.4 조건 표현식¶
조건 표현식(Conditional Expression)은 일반적으로 조건에 따라 값을 정할 때 활용됩니다.
삼항 연산자(Ternary Operator)라고 부르기도 합니다.
활용법¶
true_value if <조건식> else false_value
num = int(input('숫자를 입력하세요 : '))
print('0 보다 큼') if num > 0 else print('0 보다 크지않음')
숫자를 입력하세요 : 2
0 보다 큼
# 아래의 코드는 무엇을 위한 코드일까요?
num = int(input('숫자를 입력하세요 : '))
value = num if num >= 0 else -num
print(value)
숫자를 입력하세요 : -1
1
# 아래에 주석으로 답변을 작성하세요.
# 절댓값 도출
[연습] 조건 표현식 작성하기¶
다음의 코드와 동일한 조건 표현식을 작성해보세요.
num = 2
if num % 2:
result = '홀수입니다.'
else:
result = '짝수입니다.'
print(result)
[출력 예시]
짝수입니다.
# 아래에 코드를 작성하세요.
# 위의 조건문을 조건 표현식으로 바꿔보세요.
num = 2
result = '홀수입니다.' if num % 2 else '짝수입니다.'
print(result)
짝수입니다.
[실습] 조건 표현식과 동일한 if 문 작성하기¶
다음의 코드와 동일한
if
문을 작성해보세요.
num = -5
value = num if num >= 0 else 0
print(value)
[출력 예시]
0
# 아래에 코드를 작성하세요.
# 위의 조건 표현식을 if 문으로 바꿔보세요.
num = -5
if num >= 0:
value = num
else:
value = 0
print(value)
0