我有疑问的部分的链接。Think Python - 第 6 章,第 5 节
这段代码让我迷路了。运行时,它找到 n!,但我不知道如何。我认为我误解的部分是“recurse = factorial(n-1)”行。
def factorial(n):
if n == 0:
return 1
else:
recurse = factorial(n-1)
result = n * recurse
return result
这不是调用函数并将其发送回顶部吗?(显然不是,但我不知道为什么不)。
此外,在函数完成分解因子(3!到 3、2、1、1)之后,它会将它们相乘。它在哪里记住他们?
我敢肯定这很简单,但它让我难住了。