text: class BinaryTree(object):
      def __init__(self, root):
          self.root = Node(root)
  
      def search(self, find_val):
          return self.preorder_search(tree.root, find_val)
  
      def print_tree(self):
          return self.preorder_print(tree.root, "")[:-1]
  
      def preorder_search(self, start, find_val):
          if start:
              if start.value == find_val:
                  return True
              else:
                  return self.preorder_search(start.left, find_val) or self.preorder_search(start.right, find_val)
          return False
  
      def preorder_print(self, start, traversal):
          if start:
              traversal += (str(start.value) + "-")
              traversal = self.preorder_print(start.left, traversal)
              traversal = self.preorder_print(start.right, traversal)
          return traversal