파이썬 명령어를 공부하던 도중 의문이 들어 질문합니다.

조회수 745회

이미지

파이썬을 어떻게 해야될지 잘 몰라서 def구문을 공부하다가, 의문증이 생겨 물어봅니다.

아래 내용은 제가 한 것입니다.

이미지

의문

  1. 여기서 def구문을 복수로 하여 잔과 음료 어떤 음료인지에 대하여 2번 사용할 수 있는 방법이 있을까요?

  2. input()할 때 뒤에 "입니다"나, 잔이라고 쓸 때 따로 할 경우 중복이 되서 ex)"사이다 2잔 잔 주문하셨습니다"라고 뜨는데, 이 부분을 예외 처리해서 다시 질문하거나 에러 표시가 뜨도록 바꿀 수 있는 방법이 있을까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 입문자면 한번 해보고 질문을 해보세요. 그래야 실력이 늘어요.

    def order_beverage():
        drink = input('주문하실 음료를 알려주세요.')
    
        while True:
            confirm = input(f'{drink}가 맞습니까?(Y/N) 취소:Q')
            if confirm in ['Y', 'y']:
                return drink
            elif confirm in ['Q', 'q']:
                return ''
    
    
    def order_cnt():
        while True:
            order_cnt = input('몇 잔 주문하시겠습니까?')
            try:
                order_cnt_number = int(order_cnt)
            except ValueError:
                print(f'숫자만 입력하세요.[숫자가 아닙니다: {order_cnt}]')
            else:
                return order_cnt_number
    
    ordering_flag = True
    
    while ordering_flag:
        drink = order_beverage()
        if drink:
            ordering_flag = not ordering_flag
            cnt = order_cnt()
    
    print(f'{drink} {cnt}잔이 주문되었습니다.')
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)