입력값과 조건으로 독서 기록 검사하기
변수·자료형·논리 조건으로 제목과 읽은 쪽수를 검사합니다.
진도 0%
레슨
- 문자열과 숫자 구분하기
변수와 정수·문자열의 역할을 설명합니다.
- 빈 제목과 한글 처리하기
공백 제거와 문자열 길이의 의미를 확인합니다.
- 유효한 쪽수 결정하기
비교·논리곱·부정 조건을 경계값으로 검증합니다.
독서 기록 한 건의 입력 계약을 만듭니다.
앞 모듈 미션의 solution을 이어받아 파일 경로와 인자 없는 제목 출력은 유지하고, 명령행으로 받은 제목·쪽수 한 건의 기록 후보를 검사합니다.
요구사항
- 제목은 앞뒤 공백을 제거하고 빈 제목은 거부합니다.
- 쪽수는 0 이상의 정수로 정하고 성공·실패 출력 형식을 docs/input.md에 적습니다.
- app.py가 한 건을 검증해 성공 기록 또는 오류 코드를 출력하도록 연결합니다.
- 인자 없는 기존 실행과 경로·메모리 관찰 검사를 유지합니다. 숫자 해석 보조 코드는 제공됩니다.
- 제목·쪽수 인자 두 개를 받으며 성공은 OK|제목|쪽수와 종료 코드 0, 오류는 ERR_TITLE·ERR_PAGES·ERR_ARGS 중 하나와 종료 코드 2입니다. 제목 오류를 쪽수 오류보다 먼저 처리하며 파일 저장은 하지 않습니다.
- 쪽수 원문은 앞뒤 공백 제거 후 선택적인 부호와 ASCII 숫자를 허용합니다. 내부 제목 공백을 보존하며 쪽수 상한은 정하지 않습니다.
완료 기준
- 빈 제목·공백 제목·음수 쪽수는 저장 후보를 만들지 않습니다.
- 한글 제목과 쪽수 0·1은 계약대로 처리합니다.
- 11개 unittest가 통과하며 내부 공백·숫자 문법 오류·오류 우선순위·인자 개수·기존 경로 동작을 검사합니다.
- 기존 data/sample.txt가 바뀌지 않고 입력 오류 시 OK 기록이 출력되지 않습니다.
python3 -m unittest discover -s tests -p "test_*.py"미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 변수 이름으로 데이터 의미를 알 수 있습니다.
- 입력 조건을 말과 조건식으로 동일하게 설명합니다.