2015-12-02 80 views
-1

所以,我試圖解決一個涉及到查找元組最大深度的問題(例如,深度((''','','','d'),('e', ''''))應該返回2和深度((''','','','',''','',','),' g','h','i'))))應該返回4. 我想使用遞歸來解決問題,我使用計數器'c'來跟蹤每個元組的深度(在主元組內。)問題是,我得到以下錯誤,局部變量的'分配之前引用遞歸過程中的變量用法?

我的代碼是這樣的:

s=0 
def depth(tuple): 
    do something 
    s=s+1 
    depth(some_nested_tuple) 
    return 

我是什麼做錯了?

回答

0

如果你想要做的事與函數內部global變量,你必須做這樣的:

s=0 
def depth(tuple): 
    # do something 
    global s 
    s=s+1 
    return depth(some_nested_tuple)