关于二叉树的问题,如何解决?

问题遇到的现象和发生背景

二叉树建树creattree部分报错,补全代码

用代码块功能插入代码,请勿粘贴截图
"""to build a binary tree with binary linked list"""

class BTNode():
    def __init__(self, data = None, lchild = None, rchild = None):
        self.data = data
        self.lchild = lchild  # left child
        self.rchild = rchild  # right child

def creatBinTree():
    # finally return root node
    ch = input('Please input an alphabet, to note that \"*\" stands for None: ')



def preorder(self,node): #per-order traversal
    if node ==None:
        return
    print(node.data, end=" ")
    self.preorder(node.lchild)
    self.preorder(node.rchild)


def postorder(self,node): #post-order traversal
    if node == None:
        return
    self.postorder(node.lchild)
    self.postorder(node.rchild)
    print(node.data,end="")


def inorder(self,node): #in-order traversal
    if node==None:
        return
    self.inorder(node.lchild)
    print(node.data,end=" ")
    self.inorder(node,rchild)

def levelorder(): #level-order traversal by queue


def countleaf(): #count the number of leaf nodes




def inorder2():



if __name__ == '__main__':
    #with the pre-order traversed sequence as input:AB*D**C**. "*" stands for NONE.
    bt = creatBinTree()
    print('pre-order traversal: ')
    preorder(bt)
    print('\n')
    
    print('post-order traversal: ')
    postorder(bt)
    print('\n')
    
    print('in-order traversal: ')
    inorder(bt)
    print('\n')
    
    print('level-order traversal: ')
    levelorder(bt)
    print('\n')

    n = 0 #global variant to save the number of leaf nodes
    countleaf(bt)
    print('The number of leaf nodes is: ', n)
    print('\n')



    print('in-order traversal by non-recursive way: ')
    inorder2(bt)

兄弟有啥问题说一下哈

代码不全,是要补全函数代码吗?

这个写的很详细,可以参考下
https://www.jianshu.com/p/9503238394df

嗯,这个二叉树的各种创建方法文章,【里面有提到二叉树建树creattree方法】期望对你有所启发:https://blog.csdn.net/lingling_nice/article/details/80960439