所以我有以下内容:
class Tree(object):
def__init__(self):
self.right = None
self.left = None
self.val = None
我用我的代码中的东西填充树。
我想写一个表单的函数
def mult(newVal, node)
newVal = diff(node.left, newVal, var)
newVal.append('*')
newval.append(next(node.right))
newVal.append('+')
newVal = diff(node.left, newVal, var)
newVal.append('*')
newVal.append(next(node.left))
其中 next 只是一个遍历树中下一个节点的函数,而 diff 是以下形式的递归函数:
def diff(node, newVal, var):
...
...
elif(node.val == '*'):
newVal = diff(node.left, newVal, var)
newVal.append('*')
newval.append(next(node.right))
newVal.append('+')
newVal = diff(node.left, newVal, var)
newVal.append('*')
newVal.append(next(node.left))
...
...
我的“主要”是
node = Tree()
newEquation = []
pos = 0
pos, newTree = buildTree(node, equation, pos)
newEquation = diff(newTree, newEquation, variable)
newEquation = ''.join(newEquation)
print newEquation
我将如何编写 defmult()
函数来接受树节点作为参数,然后diff()
再次调用该函数?