Devin.KR

여러 기록과 비용 합계 처리하기

반복과 함수를 사용해 독서 기록과 도서 구입 지출을 계산합니다.

진도 0%

레슨

  1. 여러 기록 순서대로 처리하기

    입력 개수와 반복 횟수를 연결합니다.

  2. 계산 책임을 함수로 나누기

    매개변수·반환값·출력을 구분합니다.

  3. 도서 구입 지출 합계

    입력·계산·출력 계약을 함수로 표현합니다.

  4. 독서 요약과 통계 해석

    평균과 중앙값의 차이 및 표본의 한계를 설명합니다.

독서 목록의 쪽수와 구입 금액 요약을 추가합니다.

앞 모듈 미션 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"
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 반복 종료 조건과 함수 반환값을 설명합니다.
  • 통계의 관측 단위와 적용 범위를 기록합니다.