假设我有一个树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法是:
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语句列表?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐