On 2014-07-02 20:20, kjaku...@gmail.com wrote:
I'm trying to write a boolean function that takes two Mytime objects, t1 and t2 
as arguments, and returns True if the object falls inbetween the two times.

This is a question from the How to Think Like a Computer Scientist book, and I 
need help.

What I've gotten so far:

class MyTime:
     def __init__(self, hrs=0, mins=0, secs=0):
         self.hours = hrs
         self.minutes = mins
         self.seconds = secs
     def between(t1, t2):
         if float(t1 <= t3) and float(t3 < t2):
             return True
             return False

I just don't understand how to make a function that uses MyTime objects into 
the boolean function? Any help would be great.

If you want 'between' to be an instance method of the MyTime class, it
needs 'self' as well as the 2 arguments 't1' and 't2'.

You can then compare the hours, minutes and seconds of self against
those of t1 and t2:

    def between(self, t1, t2):
return (t1.hours, t1.minutes, t1.seconds) <= (self.hours, self.minutes, self.seconds) and (self.hours, self.minutes, self.seconds) <= (t2.hours, t2.minutes, t2.seconds)

That could be shortened further using chained comparisons.

Note that the code assumes that the times t1 and t2 are ordered, i.e.
that time t1 is not later/greater than time t2.

Reply via email to