In [12]:
class Tree():
    def __init__(self, payload, left=None, right=None):
        self.left = left
        self.right = right 
        self.payload = payload
        
    def AddChild(self, Tree):
        if self.left is None:
            self.left = Tree
        elif self.right is None:
            self.right = Tree
        else: 
            self.left.AddChild(Tree)
    def __str__(self):
        return str(['payload', self.payload, 'left', self.left.__str__(), 'right', self.right.__str__()])
        
        
        
        
t = Tree(1)
t.AddChild(Tree(2))
t.AddChild(Tree(3))
t.AddChild(Tree(4))

print t


['payload', 1, 'left', '[\'payload\', 2, \'left\', "[\'payload\', 4, \'left\', \'None\', \'right\', \'None\']", \'right\', \'None\']', 'right', "['payload', 3, 'left', 'None', 'right', 'None']"]

In [15]:
1/(1+55/128.)


Out[15]:
0.6994535519125683

In [ ]: