2012-04-14 18 views
0

だから私は、次があります。オブジェクトをパラメータとして受け入れるPython関数?

class Tree(object): 
    def__init__(self): 
     self.right = None 
     self.left = None 
     self.val = None 

私は私のコード内のものでツリーを移入します。

:私は、フォームの横単にツリー内の次のノードにトラバースする関数であり、diffは次の形式の再帰関数である

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)) 

の機能を書きたいと思い

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)) 
... 
... 

と私はDEF書くとどう

node = Tree() 
    newEquation = [] 
    pos = 0 
    pos, newTree = buildTree(node, equation, pos) 
    newEquation = diff(newTree, newEquation, variable) 
    newEquation = ''.join(newEquation) 
    print newEquation 

である私の "メイン"は、ツリーノードをパラメータとして受け入れ、次にdiff()関数を再度呼び出す関数ですか?うまく動作するはずです

mult(newEquation, node) 

:あなたとMULTを呼び出すので、もし

+0

あなたはそれをどのように書いていますか? –

+0

修正されました。構文エラーにより奇妙なエラーメッセージが表示されていました。ありがとう! – gfppaste

答えて

1

Pythonのは、タイプされていません。

関連する問題