2015-12-02 73 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)