17.13 연습문제
연습문제 17-1
http://thinkpython2.com/code/Time2.py에서 코드를 받아야 한다. Time의 속성들을 자정부터의 경과 시간을 초로 표현한 정수 하나로 바꿔보자. 그리고 새로운 구현에 맞춰 동작하게끔 메서드(그리고 int_to_time 함수)를 수정하자. main에 있는 테스트 코드는 수정하면 안 된다. 작업이 끝나면 출력 결과는 이전과 같아야 한다.
해법: http://thinkpython2.com/code/Time2_soln.py
연습문제 17-2
이 연습문제는 파이썬에서 가장 흔하고 찾기 어려운 오류 중에 하나에 대한 주의사항에 대한 것이다. 다음 메서드를 갖는 Kangaroo 클래스 정의를 작성하라.
1. pouch_contents 속성을 빈 리스트로 초기화하는 _ _init_ _ 메서드
2. 모든 타입의 객체를 받아서 pouch_contents에 추가하는 put_in_pouch 메서드
3. Kangaroo 객체와 파우치의 내용을 문자열 표현으로 반환하는 _ _str_ _ 메서드
Kangaroo 객체 두 개를 생성해 각각 kanga와 roo 변수에 할당하고, kanga의 파우치에 roo를 추가하는 코드로 테스트를 작성하라.
http://thinkpython2.com/code/BadKangaroo.py를 받아야 한다. 여기에는 이전 문제에 대한 해법과 지저분한 버그가 포함되어 있다. 버그를 찾아서 수정하라.
문제를 해결하지 못했다면 문제를 설명하고 해법을 보여주는 코드를 http://thinkpython2.com/code/GoodKangaroo.py에서 받을 수 있다.