код выводит ответы "Right" и "Left" вместо ожидаемых целых чисел

Был дан пример постройки бинарного дерева, но мне нужно сделать так что бы он выводил целые числа от [-50,50]. В данном случае, код выводит ответы "Right" и "Left", не могу разобраться как мне это реализовать.

class Node():

    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None
        self.parent = None


class Tree():

    def __init__(self):
        self.root = None

    def add_node(self, key, node=None):

        if node is None:
            node = self.root

        if self.root is None:
            self.root = Node(key)

        else:

            if key <= node.key:
                if node.left is None:
                    node.left = Node(key)
                    node.left.parent = node
                    print("left")
                    return
                else:
                    return self.add_node(key, node=node.left)
            else:
                if node.right is None:
                    node.right = Node(key)
                    node.right.parent = node
                    print("right")
                    return
                else:
                    return self.add_node(key, node=node.right)

    def search(self, key, node=None):

        if node is None:
            node = self.root

        if self.root.key == key:
            print ("key is at the root")
            return self.root

        else:
            if node.key == key:
                print ("key exists")
                return node

            elif key < node.key and node.left is not None:
                print ("left")
                return self.search(key, node=node.left)

            elif key > node.key and node.right is not None:
                print ("right")
                return self.search(key, node=node.right)

            else:
                print ("key does not exist")
                return None

    def delete_node(self, key, node=None):
        # search for the node to be deleted in tree
        if node is None:
            node = self.search(key)  # return the node to be deleted

        # root has no parent node
        if self.root.key == node.key:  # if it is root
            parent_node = self.root
        else:
            parent_node = node.parent

        '''case 1: The node has no chidren'''
        if node.left is None and node.right is None:
            if key <= parent_node.key:
                parent_node.left = None
            else:
                parent_node.right = None
            return

        '''case 2: The node has children'''
        ''' if it has a single left node'''
        if node.left is not None and node.right is None:
            if node.left.key < parent_node.key:
                parent_node.left = node.left
            else:
                parent_node.right = node.left

            return

        '''if it has a single right node'''
        if node.right is not None and node.left is None:
            if node.key <= parent_node.key:
                parent_node.left = node.right
            else:
                parent_node.right = node.right
            return


        if node.left is not None and node.right is not None:
            min_value = self.find_minimum(node)
            node.key = min_value.key
            min_value.parent.left = None
            return

    def find_minimum(self, node=None):

        if node is None:
            node = self.root

        '''find mimimum value from the right subtree'''

        '''case when there is only a root node'''
        if node.right is not None:
            node = node.right
        else:
            return node

        if node.left is not None:
            return self.find_minimum(node=node.left)
        else:
            return node

    def tree_data(self, node=None):
        if node is None:
            node = self.root

        stack = []
        while stack or node:
            if node is not None:
                stack.append(node)
                node = node.left
            else:
                node = stack.pop()
                yield node.key
                node = node.right


t = Tree()
t.add_node(10)
t.add_node(13)
t.add_node(14)
t.add_node(8)
t.add_node(9)
t.add_node(7)
t.add_node(11)


Ответы (0 шт):