This took a moment I spent a lot of time stupidly thinking about right/left sorting, is it looping? no that's not it...doh Then the light
then realized this if self.key == key: return 1 elif key < self.key: if self.left: self.left.find(key) else: return -1 you need to RETURN on the child call - if self.left: self.left.find(key) becomes if self.left: return self.left.find(key) -- http://mail.python.org/mailman/listinfo/python-list