[Tutor] class function problem

Roelof Wobben rwobben at hotmail.com
Wed Sep 22 09:10:36 CEST 2010

```
HEllo,

I have this exercise :

3.Rewrite the increment function so that it doesn’t contain any loops.

The increment function looks like this :

def increment(time, seconds):
time.seconds = time.seconds + seconds
while time.seconds>= 60:
time.seconds = time.seconds - 60
time.minutes = time.minutes + 1
while time.minutes>= 60:
time.minutes = time.minutes - 60
time.hours = time.hours + 1

So I thought that recursion can do the job.

So I wrote this :

class tijd :
pass

def incrememt_seconds(time):
time.seconds = time.seconds - 60
time.minutes =  time.minutes + 1
if time.seconds>= 60 :
increment_seconds(time,seconds, minutes)
return  time

def increment_minutes(time):
time.minutes = time.minutes - 60
time.hours = time.hours + 1
if time.minutes>= 60 :
increment_minutes(time, minutes,hours)
return time

def increment(time, seconds):
time.seconds = time.seconds + seconds
if time.seconds>= 60 :
increment_seconds(time)
if time.minutes>= 60 :
increment_minutes(time)
return time

time = tijd()
time.hour = 20
time.minutes = 20
time.seconds = 20
seconds = 20
uitkomst = increment(time, seconds)

But how can i Check the outcome.
print uitkomst gives the object and print time(uitkomst) gives this error message :

Traceback (most recent call last):
File "C:\Users\wobben\workspace\oefeningen\src\test.py", line 34, in <module>
print time(uitkomst)
AttributeError: tijd instance has no __call__ method

Roelof
```