치킨 주문기

조회수 496회

치킨 주문기 입니다. if chicken == 0: 부분에서 identification error가 났습니다. 코드 문제인지 VSCODE 설정 문제인지 잘모르겠습니다.

class SoldOutError(Exception):
    pass

chicken = 10
waiting = 1

while(True):
    try:
        print("남은 치킨 : {0}".format(chicken))
        order = int(input("몇마리 치킨을 주문하시겠습니까?"))
        if order > chicken:
            print("재료가 부족합니다.")
        elif order <= 0:
            raise ValueError    
        else:
            print("[대기번호 {0}번] : {0}마리 치킨이 주문되었습니다."\
            .format(waiting, order))
            waiting += 1
            chicken -= order

         if chicken == 0:
            raise SoldOutError   

except ValueError:
    print("잘못된 값을 입력했습니다.")   
except SoldOutError:
    print("재고가 소진되어 더 이상 주문을 받지 않습니다.")   
    break

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    if chicken == 0 의 if 앞에 빈칸이 하나 더 있습니다. 파이썬에서는 들여쓰기가 코드블럭을 구분하기 때문에, 들여쓰기에 신경을 잘 쓰고 코딩해야 합니다. 스페이스 문자를 쓸 것인지, 탭문자를 쓸 것인지, 그리고 스페이스 문자 몇개를 쓸 것인지 등.

    vscode 를 사용한다면, indent-rainbow 플러그인을 설치하면 인덴트를 좀 더 명확하게 보여줍니다. 좋은 툴이 많이 나와 있으니, 좋은 툴의 도움을 받으세요.

    이미지

    • 감사합니다. 저도 VSCODE를 쓰고 있는데 잘 몰랐네요 답변 감사합니다. 승현 2021.1.12 11:31
    • 왠만한 에러는 문법에러라는 슬픈 현실 공부하면 화질높아짐 2021.1.12 15:42

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)