我有一个简单的代码,可以使用存储在字典中的图形来查找路径。该代码是完全相同:可变默认参数返回无
def find_path(dct, init, depth, path=[]):
if depth == 0:
return path
next_ = dct[init]
depth-=1
find_path(dct, next_, depth)
如果我打印正确的路径return path
之前它打印到屏幕的正确路径(的5
的初始深度后)。但是,返回的值是None
。我不知道发生了什么事!
为什么path
的值正好高于return
是正确的,但返回的路径不是我想要的?
是的,但我想知道为什么正确路径上方的路径参数是正确的,但它不返回。 BTW。您的修复DID解决了问题。非常感谢! – Escualo 2010-10-07 06:54:47
因为它将它返回到下一个级别......但是那个级别永远不会将它传递给链条。 'return'不会自动将一个值传递给递归调用堆栈;一次只有一个级别。 – Amber 2010-10-07 07:01:23