从创建函数

2024-04-26 13:24:57 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法是:

def Execute(tree):
    result = 0
    symbol = tree.data
    if (symbol in {'/', '*', '+', '-'}):
        if (symbol == '/'):
            result = Execute(tree.left) / Execute(tree.right)
        elif (symbol == '*'):
            result = Execute(tree.left) * Execute(tree.right)
        elif (symbol == '+'):
            result = Execute(tree.left) + Execute(tree.right)
        elif (symbol == '-'):
            result = Execute(tree.left) - Execute(tree.right)
    else:
        return tree.data
    return result

问题是每次都需要大量调用Python中的函数,具体来说,有没有办法将这个树转换成可以在函数中运行的Python语句列表?你知道吗


Tags: 方法函数righttree终端executedatareturn