복습 - 쇼핑 카트 오류
Coddy Python 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 66번째.
챌린지
중급오류 처리를 포함해 장바구니를 시뮬레이션하는 프로그램을 작성하세요. 할 일은 다음과 같습니다.
- 고객 주문을 처리하는
handle_shopping_cart함수를 만드세요. - 함수가 "item:quantity" 형식의 주문 문자열 목록을 받도록 하세요.
- 각 주문을 다음과 같이 처리하세요.
- 입력 문자열을 분할해 상품과 수량을 가져오세요.
- 수량을 정수로 변환하세요.
- 수량을 값으로 사용해 상품을 장바구니 딕셔너리에 추가하세요.
- 상품이 이미 장바구니에 있으면 새 수량을 기존 수량에 더하세요.
- 다음과 같은 특정 오류를 처리하세요.
- 입력 형식이 잘못된 경우(콜론 누락) "Invalid format: {order}"를 출력하세요.
- 수량이 올바른 숫자가 아닌 경우 "Invalid quantity: {order}"를 출력하세요.
- 수량이 음수인 경우 "Negative quantity not allowed: {order}"를 출력하세요.
- 완성된 장바구니 딕셔너리를 반환하세요.
if를 사용해 형식과 음수 수량을 확인하세요. 수량을 정수로 변환하는 경우에만 오류가 발생할 수 있으므로, except ValueError에서 "Invalid quantity: {order}"를 출력합니다. 안전망으로 마지막 except Exception as e 블록을 유지하고, 그 안에서 "Unexpected error: {e}"를 출력하세요.
직접 해보기
def handle_shopping_cart(orders):
# 장바구니를 위한 빈 딕셔너리를 생성합니다
cart = {}
# 목록의 각 주문을 처리합니다
for order in orders:
try:
# 주문을 분리하고 형식과 수량을 확인한 다음 장바구니에 추가합니다
pass
except ValueError:
# 수량이 숫자가 아닙니다
pass
except Exception as e:
# 예상치 못한 모든 상황
pass
# 완성된 장바구니를 반환합니다
return cart논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러