0
我需要计算我在树上访问的节点数量,同时查找一个标记(本例中为1)。到目前为止,我想出了:递归计算访问节点
def search_recursive(node,rounds=0):
if len(node)==2:
if node[1]==1:
print rounds
else:
rounds += 1
huff_search_recursive(node[1],rounds)
huff_search_recursive(node[2],rounds)
但是,如果我尝试两轮分配给像什么:
def search_recursive(node,rounds=0):
if len(node)==2:
if node[1]==1:
return rounds
else:
rounds += 1
huff_search_recursive(node[1],rounds)
huff_search_recursive(node[2],rounds)
Python的分配没有限制,任何变量。例如。
rounds = search_recursive(node)
节点的一个例子是:
node = (1.0, (0.5, 0), (0.5, (0.25, 0), (0.25, (0.125, 1), (0.125, 0))))
任何人都可以向我解释是什么导致这个错误,我怎么能在未来的测试呢?
你在哪里返回中间步骤的值? –
重复的http://stackoverflow.com/questions/17173822/python-issues-with-return-statement和其他几个人 –
@brunodesthuilliers谢谢! –