요약 - 쇼핑카트 에러
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 컴파일러