더북(TheBook)

다음은 Time 객체를 정수로 변환하는 함수다.

def time_to_int(time):

minutes = time.hour * 60 + time.minute

seconds = minutes * 60 + time.second

return seconds

그리고 다음은 정수를 Time 객체로 변환하는 함수다(기억하겠지만 divmod는 첫 번째 인수를 두 번째 인수로 나누고, 몫과 나머지를 튜플로 반환한다).

def int_to_time(seconds):

time = Time()

minutes, time.second = divmod(seconds, 60)

time.hour, time.minute = divmod(minutes, 60)

return time

테스트를 몇 번 해보고 잠시 생각해보면 이들 함수가 제대로 동작한다는 것을 스스로 납득할 것이다. 이들 함수를 테스트하는 한 가지 방법은 time_to_int(int_to_time(x)) == x에서 x 값을 바꿔보면서 확인하는 것이다. 이러한 예를 일관성 검사라 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.