더북(TheBook)

결과는 10:80:00인데, 이는 우리가 원하는 것이 아니다. 여기서 add_time 함수는 분이나 초가 60을 넘을 때를 다루지 않는 문제가 있다. 60이 넘으면 초과한 초를 분 단위로 올리기를 해야 하고, 초과한 분을 시간 단위로 올리기를 해야 한다.

다음은 개선한 버전이다.

def add_time(t1, t2):

sum = Time()

sum.hour = t1.hour + t2.hour

sum.minute = t1.minute + t2.minute

sum.second = t1.second + t2.second

 

if sum.second >= 60:

sum.second -= 60

sum.minute += 1

 

if sum.minute >= 60:

sum.minute -= 60

sum.hour += 1

 

return sum

이 함수는 올바르게 동작하지만, 이는 시작일 뿐이다. 이후에 더 짧은 버전도 살펴볼 것이다.

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