종종 우리는 조건에 따라 다중으로 분기되는 결정을 내려야 하는 경우가 있습니다.
학생들의 성적을 받아 학점을 출력하는 프로그램을 작성하여 실행해봅시다.
성적이 90점 이상이면 A학점, 80점 이상이고 90점 미만이면 B학점, 70점 이상이고 80점 미만이면 C학점과 같이 결정하는 것입니다.
이 경우 가장 자연스러운 방법은 if 문 다음에 else if 문을 연속적으로 사용하는 것입니다.
만일 이중 하나의 조건식이 참이면 관련된 문장이나 블록이 수행되고 더 이상의 비교는 이뤄지지 않습니다.
예제에서 시험 성적에 따라 학점을 부여하는 것을 이러한 구조를 사용하여 코딩하면 됩니다.
즉 90점 이상이면 A학점, 80점에서 89점은 B학점, 70점에서 79점은 C학점, 60점에서 69점까지는 D학점, 60점 미만이면 F학점을 부여합니다.
이를 순서도로 표현하면 아래 그림과 같습니다.

파이썬에서는 else-if를 합친 키워드 elif가 있는데, 이것을 사용하여 다음과 같은 프로그램을 작성할 수 있습니다.
score = int(input("성적을 입력하시오 : "))
if score >= 90:
print("학점 A")
elif score >= 80:
print("학점 B")
elif score >= 70:
print("학점 C")
elif score >= 60:
print("학점 D")
else:
print("학점 F")
<실행 결과>
성적을 입력하시오 : 90
학점 A
성적을 입력하시오 : 75
학점 C
성적을 입력하시오 : 50
학점 F
위의 예제에서 학점 B를 출력하기 위한 elif문의 조건이 score >= 80 and score < 90 이라고 할 필요가 없음에 유의해야 합니다.
score가 90보다 크거나 같은 경우에 위에 있는 if문의 조건인 score >= 90 에서 이미 걸리기 때문입니다.
1. 쿠러그대학에서는 A학점도 성적에 따라 A+(95점 이상)와 A0로 나누어집니다.
B, C, D 학점도 마찬가지라고 할 때 이에 맞게 위에서 제시한 예제를 수정해보도록 합시다.
<실행 결과>
성적을 입력하시오 : 95
학점 A+
성적을 입력하시오 : 76
학점 C+
2. 봉민이는 중학교 때 배운 수학이 가끔 기억나지 않아 정수를 입력하면 이를 음수, 0, 양수 중의 하나로 분류하는 프로그램을 만든다고 합니다.
사용자로부터 정수를 입력 받아 아래의 실행 결과가 나오도록 합시다.
<실행 결과>
정수를 입력하시오 : 21
입력된 정수는 양수입니다.
정수를 입력하시오 : 0
입력된 정수는 0입니다.
정수를 입력하시오 : -21
입력된 정수는 음수입니다.
3. 봉민이는 레드벨벳에 입덕하여 멤버들의 나이를 외우려다 잘 외워지지 않아 입력한 나이가 어느 멤버의 나이와 비슷한지를 알아보려 합니다.
사용자로부터 나이를 받아 아래의 조건에 맞는 레드벨벳 멤버의 이름을 출력합시다.
<조건>
<실행 결과>
나이를 입력하세요 : 26
슬기, 웬디 나이대입니다.
나이를 입력하세요 : 30
아이린 나이대입니다.
나이를 입력하세요 : 18
아직 꼬꼬마입니다.