だから私は次のことをしています:
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
mult()
ツリーノードをパラメーターとして受け入れるdef関数を記述してから、diff()
関数を再度呼び出すにはどうすればよいですか?