if-else
조건식의 참과 거짓에 따라 조건문을 작성할 때에는 if
문 두 개를 사용하여 표현할 수도 있지만 if-else
문을 추천한다.
python
if 조건식:
조건이 참일 때 실행할 코드
else:
조건이 거짓일 때 실행할 코드
들여쓰기는 위, 아래 동일하게 4칸을 적용한다.
python
score = int(input())
if score >= 80:
print("pass")
if score < 80:
print("fail")
이전에 작성한 코드와 동일한 기능을 하는 코드이다. if-else
문을 사용하면 가독성이 좋아진다.
python
score = int(input())
if score >= 80:
print("pass")
if score < 80:
else:
print("fail")
if-else
문을 사용하면 if
문 두 개를 사용하는 것보다 코드가 간결해진다.
info if-else
문의 특징
if-else
문은 if
문과 else
문을 합친 것이므로, else
문은 if
문이 거짓일 때 실행된다. 따라서 else
문은 if
문이 참일 때 실행되지 않는다.
80점 이상이면 "A"
60점 이상이면 "B"
60점 미만이면 "C"
를 출력하는 프로그램을 작성해보자.
단일 if
문을 사용한 아래 코드는 어떤 문제가 있을까?
python
score = int(input())
if score >= 80:
print("A")
if score >= 60:
print("B")
if score < 60:
print("C")
88점을 입력할 경우 score >= 80
과 score >= 60
을 만족하기 때문에 AB
를 출력한다. if-else
를 사용하면 다음과 같이 작성할 수 있다.
python
score = int(input())
if score >= 80: # score가 80점 이상이면
print("A")
else: # score가 80점 미만이면
if score >= 60: # score가 60점 이상이면
print("B")
else: # score가 60점 미만이면
print("C")
80점 이상이면 "A"
를 출력하고, 그렇지 않은 경우 if
문을 다시 수행한다.
이번에는 입력한 점수에 따라 5단계 평가를 출력하는 프로그램을 작성하려고 한다.
90점 이상 | 80점 이상 | 70점 이상 | 60점 이상 | 60점 미만 |
---|---|---|---|---|
A | B | C | D | F |
if-else
를 사용하면 다음과 같다.
python
score = int(input())
if score >= 90: # score가 90점 이상이면
print("A")
else: # score가 90점 미만이면
if score >= 80: # score가 80점 이상이면
print("B")
else: # score가 80점 미만이면
if score >= 70: # score가 70점 이상이면
print("C")
else: # score가 70점 미만이면
if score >= 60: # score가 60점 이상이면
print("D")
else: # score가 60점 미만이면
print("F")
조건이 많아질경우 if-else
문을 사용하면 가독성이 떨어진다. 다음 장에서는 이를 보완하는 방법에 대해 알아보자.