Skip to content

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 >= 80score >= 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점 미만
ABCDF

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문을 사용하면 가독성이 떨어진다. 다음 장에서는 이를 보완하는 방법에 대해 알아보자.

Powered by vitepress-logo-mini