指向我有疑問的部分的鏈接。 Think Python - chapter 6, section 5think python - section 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)後,將它們相乘。它在哪裏記住它們?
我確定這很簡單,但它讓我難住。
http://stackoverflow.com/questions/717725/understanding-recursion和順便說一句,你的問題不是「思考python - 第6.5節」,但理解遞歸。 – tamasgal