22. 파이썬 - elif

2024. 7. 6. 16:493층 1구역 - 개발의 장/Python 프로그래밍 핵심 개념

1. 서론

if-else문을 사용하면 조건에 따라 수행하는 부분이 2가지로 나뉜다.

 

if문의 조건이 True라면 수행 부분이 실행되고,

if문의 조건이 False라면 else문으로 내려가 수행 부분이 실행된다.

 

이전 게시물에서 자켓을 입을지, 말지를 if문으로 프로그래밍 해봤는데..

2024.07.06 - [3층 1구역 - 개발의 장/Python 프로그래밍 핵심 개념] - 21. 파이썬 - if2

 

21. 파이썬 - if2

1. 서론우리는 이전 게시물에서 if문에 대해 아주 간단하게 알아 보았다.2024.07.06 - [3층 1구역 - 개발의 장/Python 프로그래밍 핵심 개념] - 20. 파이썬 - if1 20. 파이썬 - if11. 서론'만약'에 밖의 온도가

sukw9512.tistory.com

 

우리는 온도에 따라서 반팔을 입을지, 긴팔을 입을지 또 세부적으로 결정하게 된다.

 

또는 교수님이 성적을 주실 때, 100점 0점 이렇게 주시지 않고,

A, B, C, D, F로 나누어 주신다.

 

2. 본론

위와 같은 예시를 프로그래밍으로 나타내보자.

 

먼저 현재 온도가 13도 라고 생각해보자

if 온도가 10도 이하다:
    자켓을 입는다.
else:
    if 온도가 15도 이하다:
        긴팔을 입는다
    else:
        반팔을 입는다.

 

현재 온도가 13도 이니까 else문으로 내려갈 것이고, 그 안에 if문으로 들어가

긴팔을 입는다 가 출력될 것이다.

 

많은 선택지가 있을 수도 있다.

교수님이 성적을 A, B, C, D, F 이렇게 5가지로 주신다.

이를 if문으로 표현하자면

 

if 점수가 90점 이상이다:
    A를 준다.
else:
    if 점수가 80점 이상이다:
        B를 준다.
    else:
        if 점수가 70점 이상이다:
            C를 준다.
        else:
            if 점수가 60점 이상이다:
                D를 준다.
            else:
                F를 준다.

 

이렇게 표현할 수 있을 것이다.

근데 들여쓰기도 많고, else안에 또다른 if-else문이 있으니 복잡해보인다.

그럴 때는 elif문을 사용할 수 있다

 

if 점수가 90점 이상이다:
    A를 준다.
elif 점수가 80점 이상이다:
    B를 준다.
elif 점수가 70점 이상이다:
    C를 준다.
elif 점수가 60점 이상이다:
    D를 준다.
else:
    F를 준다.

 

퀴즈를 풀어보자.

학생들에게 최종 성적을 알려주는 학점 계산기를 만들려고 한다.

 

이 수업은 50점 만점의 중간고사와 50점 만점의 기말고사가 있다.

두 시험의 점수를 합해서 최종 성적을 내는 방식이며 규칙은 다음과 같다.

 

A: 90점 이상

B: 80점 이상 90점 미만

C: 70점 이상 80점 미만

D: 60점 이상 70점 미만

F: 60점 미만

 

print_grade() 함수는 파라미터로

중간고사 점수(midterm_score)와 기말고사 점수(final_score)를

받아서 최종 성적을 출력한다.

 

결과

 

 

테스트 코드

print_grade(40, 45)
print_grade(20, 35)
print_grade(30, 32)
print_grade(50, 45)

 

정답

더보기
def print_grade(midterm_score, final_score):
    total = midterm_score + final_score
    
    if total >= 90:
        print("A")
    elif total >= 80:
        print("B")
    elif total >= 70:
        print("C")
    elif total >= 60:
        print("D")
    else:
        print("F")

'3층 1구역 - 개발의 장 > Python 프로그래밍 핵심 개념' 카테고리의 다른 글

24. 파이썬 - list2  (0) 2024.07.06
23. 파이썬 - list1  (0) 2024.07.06
21. 파이썬 - if2  (0) 2024.07.06
20. 파이썬 - if1  (0) 2024.07.06
19. 파이썬 - while  (0) 2024.06.17