재고 관리자
Orla 안녕. 화물칸이 엉망이야. 떨어진 줄도 모르고 있다가 떨어지고, 잔뜩 있는 걸 또 주문하고 있어. 제대로 된 재고 도구가 필요해. 항목 추가, 수량 업데이트, 세션 사이에 모든 걸 파일에 저장. 승무원 전체가 실제로 쓸 수 있을 만한 거 📦
만들 것
Commands: add / update / list / remove / quit
> add
Item name: Widget A
Quantity: 100
Price: 2.49
Added.
> list
Widget A qty: 100 £2.49 each total value: £249.00
> update
Item: Widget A
New quantity: 85
Updated.
> quit
Inventory saved to inventory.json.필요한 것
- 클래스와 객체 — 개별 제품을 위한
Item클래스, 컬렉션을 관리하기 위한Inventory클래스 - 파일과 예외 — JSON으로 저장하고 불러오기, 첫 실행 시 파일이 없을 때 예외 처리하기
- 딕셔너리와 리스트 — 클래스로 감싸기 전후의 기본 데이터
- 숫자와 산술 — 항목별 총 가치 계산
- 제어 흐름과 함수 — 명령어 루프, 명령어당 하나의 함수
힌트
Item은 세 개의 속성을 가진 클래스입니다. 이름, 수량, 가격. Inventory는 Item 목록을 관리하며 add, update, remove, list 메서드를 노출합니다.
종료 시 저장, 시작 시 로드. 파일 로드를 try/except로 감싸 첫 실행 시 파일이 없어도 스크립트가 충돌하지 않도록 하세요 — 그냥 빈 재고로 시작하면 됩니다.
총 가치는 표시상의 문제입니다. 출력 시점에 quantity × price를 계산하세요. 속성으로 저장할 필요 없이 언제든지 도출 가능합니다.
더 나아가기
핵심 도구가 작동하면:
- 재고 부족 알림. 목록을 표시할 때, 정의한 임계값 아래로 떨어진 항목을 플래그로 표시하세요.
- 검색. 부분 일치를 지원하며 이름으로 항목을 찾는
search명령어를 추가하세요. - 보고서 내보내기. 현재 재고의 일반 텍스트 요약을
.txt파일에 작성하는export명령어를 추가하세요.

