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
else:
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.
--
https://mail.python.org/mailman/listinfo/python-list