여러 기록과 비용 합계 처리하기
반복과 함수를 사용해 독서 기록과 도서 구입 지출을 계산합니다.
진도 0%
레슨
- 여러 기록 순서대로 처리하기
입력 개수와 반복 횟수를 연결합니다.
- 계산 책임을 함수로 나누기
매개변수·반환값·출력을 구분합니다.
- 도서 구입 지출 합계
입력·계산·출력 계약을 함수로 표현합니다.
- 독서 요약과 통계 해석
평균과 중앙값의 차이 및 표본의 한계를 설명합니다.
독서 목록의 쪽수와 구입 금액 요약을 추가합니다.
앞 모듈 미션 solution 전체를 이어받아 기존 한 건 검사·샘플 출력·경로 동작을 보존하고 --batch로 여러 독서 기록을 요약합니다. 입력 파서는 제공되며 summary.py 계산 함수와 docs/summary.md를 완성합니다.
요구사항
- total_pages·total_cost·completed_count를 입력을 바꾸지 않는 함수로 구현합니다.
- 빈 목록 합계는 0이고 평균은 값 없음으로 표시합니다.
- 이전 한 건 입력 기능을 여러 건 입력 기능으로 확장합니다.
- --batch 입력은 개수 n, 이어서 제목 한 줄과 쪽수·금액·완료 표시 한 줄을 n번 받습니다. 제공된 파서의 records는 title·pages·cost·completed 필드를 가진 딕셔너리들의 리스트입니다.
- mean_pages·median_pages를 구현합니다. 빈 경우 None을 반환하고 출력에서는 NA, 관측이 있는 경우 소수 첫째 자리로 표시합니다. 원본의 순서와 값을 보존합니다.
- SUMMARY|건수|총쪽수|총금액|완료건수|평균쪽수|중앙쪽수 형식으로 출력합니다. 제공된 입력부는 잘못된 여러 건 입력에 ERR_BATCH와 종료 코드 2를 반환하며 파일 저장은 하지 않습니다.
- docs/summary.md에 관측 단위와 개인 기록의 해석 범위를 적습니다. 원래 한 건의 입력·오류 계약과 인자 없는 실행을 유지합니다.
완료 기준
- 빈 목록·한 건·세 건의 합계와 완료 건수가 기대값과 일치합니다.
- 금액 0·12000·8000의 합계는 20000이고 함수 호출 뒤 원본 입력이 같습니다.
- 기존 11건과 새 9건, 총 20개 unittest가 통과합니다. 짝수 중앙값·소수 평균·입력 보존·반환 자료형·반복 호출·기존 경로 회귀도 검사합니다.
- 0·10·80쪽의 평균은 30.0, 중앙값은 10.0이며 빈 목록은 둘 다 NA입니다. 0쪽 한 건은 둘 다 0.0입니다.
python3 -m unittest discover -s tests -p "test_*.py"미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 반복 종료 조건과 함수 반환값을 설명합니다.
- 통계의 관측 단위와 적용 범위를 기록합니다.