python 递归函数问题
python 递归问题
def partition_tree(n, m):
"""Return a partition tree of n using parts of up to m."""
if n == 0:
return tree(True)
elif n < 0 or m == 0:
return tree(False)
else:
left = partition_tree(n-m, m)
right = partition_tree(n, m-1)
return tree(m, [left, right])
>>> partition_tree(2, 2)
上面这段代码中,当传递(2,2)到partition_tree 函数里面的时候,我的理解是就会执行else里面的语句,那么当left再次呼叫 partition_tree这个函数的时候,n-m就变成0,0的就是就会执行 n == 0这个语句,那么就是代表else里面 的right语句和retrun 语句就不会执行。这是我的理解,我觉得我理解是错的,请问有人解释一下吗?