ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 12. elif를 사용하여 여러 방향으로 분기하기
    Python/Grammar 2023. 3. 10. 22:14

    # 1. elif 사용하기

    elif는 "else if"라는 뜻으로 if 조건식이 참이 아닌 상태에서 조건식을 지정할 때 사용한다. elif 여러 개를 사용해 다수 개의 조건을 지정할 수 있으며 적용 예시로는 자판기가 있다. if, else와 같이 조건식 끝에 콜론을 붙이고 다음줄은 들여쓰기를 해야 한다. 단독으로는 사용할 수 없어 if-elif 형태로 사용하거나 if-elif-else 형태로 사용한다. else와 함께 사용할 때는 반드시 elif가 else보다 먼저 와야한다. else는 선행된 모든 조건을 만족하지 않는 조건을 가지기 때문이다.

     

    1-1. if, elif, else 모두 사용하기

    모든 상황을 처리하기 위해 if-elif / if-else 형태의 두 가지 분기로는 부족할 때 if-elif-else 조건문을 사용한다.

    아래 예시와 같이 else가 없으면 if조건식과 elif 조건식 모두 거짓인 경우를 처리하지 못한다. 물론 if조건식, elif 조건식 모두 정확하게 지정하면 원하는 결과를 얻을 수 있지만 프로그램에서는 예상치 못한 값이 입력되는 경우가 잦기 때문에 else를 통해 잘못된 값에 대한 처리도 해주는 것이 좋다.

    x = 30
    if x == 10:
        print('10입니다.')
    elif x == 20:
        print('20입니다.')

     

    아래 예시와 같이 if-else 조건문은 모든 상황을 처리할 수 있지만 elif로 추가 조건을 지정해주면 보다 정확한 결과를 얻을 수 있다. 

    x = int(input())
    if x == 10:
        print('10입니다.')
    else:
        print('10이 아닙니다.')

     

     

    예제 1. if, elif, else 모두 사용하기 (본문 15.3 연습문제)

    다음 소스코드를 완성하여 변수 x가 11과 20 사이면 '1120', 21과 30 사이면 '2130', 아무것도 해당하지 않으면 '아무것도 해당하지 않음'이 출력되게 만드세요.

    x = int(input())
    if x > 11 and x < 20:
      print('11~20')
    elif x > 21 and x < 30:
      print('21~30')
    else:
      print('아무것도 해당하지 않음')

     

     

    예제 2. 교통카드 시스템 만들기 (본문 15.4 심사문제)

    표준 입력으로 나이(만 나이)가 입력됩니다(입력 값은 7 이상 입력됨). 교통카드 시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, elif 사용). 현재 교통카드에는 9,000원이 들어있습니다.

    • 어린이(초등학생, 만 7세 이상 12세 이하): 650원
    • 청소년(중∙고등학생, 만 13세 이상 18세 이하): 1,050원
    • 어른(일반, 만 19세 이상): 1,250원
    age = int(input())
    balance = 9000
    
    if 7 <= age <= 12:
        balance -= 650
    elif 13 <= age <= 18:
        balance -= 1050
    elif age >= 19:
        balance -= 1250
    
    print(balance)

     

    댓글

Designed by Tistory.