개발/나도코딩 파이썬 자율학습단 2기

나도코딩 Python 자율학습단 2기 3주차

배타브 2023. 3. 26. 13:07
728x90
반응형

 

다른 공부하고있는 언어가 어려워서 부족한거 매꾸느라 파이썬 들여다볼 겨를이 없었습니다.ㅠ

 

10장 예외처리

연습문제

 

#실습문제 치킨주문하기
#1보다 작거나 숫자가 아닌 입력값이 들어올때는 ValueError로 처리한다
#대기 손님이 주문할 수 있는 최대 주문수량은 10마리로 제한한다
#치킨 소진시 오류(SoldoutError)를 발생시키고 프로그램을 종료한다.

class SoldoutError(Exception):
    pass

chicken = 10 #남은 치킨수
waiting = 1 #대기번호 1부터 시작.

while True:
    try:
        print('남은치킨 : {0}'.format(chicken))
    
        order = int(input('치킨을 몇마리 주문하시겠습니까? : '))
    
        if order > chicken :
            print('재료가 부족합니다.')
        elif order <= 0  :
            raise ValueError
        else : 
            print('대기번호 {0} : {1}마리 주문하셨습니다.'.format(waiting, order))
            waiting = waiting + 1
            chicken = chicken - order
        if chicken == 0 :
            raise SoldoutError
    except ValueError:
        print('잘못된 값을 입력하셨습니다.')
    except SoldoutError:
        print('재료가 소진되었습니다.')
        break
 

10장 셀프체크

def save_battery(level):
    try:
        print(f'베터리 잔량 : {level}%')
        if level > 30 :
            print('일반모드')
        elif level >5:
            print('절전모드')
        else:
            raise Exception('베터리부족 : 스마트폰 종료')
    except Exception as err:
        print(err)

save_battery(75)
save_battery(25)
save_battery(3)    
    

 

 

 

 

728x90
반응형