我在做第一個遞歸運動對這個位置:http://cscircles.cemc.uwaterloo.ca/16-recursion/唔明遞歸
我也跟着明顯的提示,並提出這樣的:
def countup(n):
if n == 0:
print('Blastoff!')
else:
countup(n - 1)
print(n)
因此,代碼基本上是從0(升空)計數到n。我只是不明白它是如何工作的 - 我看着可視化工具,它通過countup(n)到countup(0),此時它打印出'Blastoff',都很好。在這之後,它有點......停留在else循環中,並開始打印出前n個值。爲什麼它會這樣做。是否由於某種原因存儲了n個值,即使它確實如此代碼機制是如何工作的?任何幫助將不勝感激。非常感謝。
遞歸:看到遞歸* *。 'countup()'函數調用最終返回。無論什麼叫它.. – 2014-09-01 19:11:39
嘗試顛倒'countup(n-1)'和'print(n)'線。調試,看你明白了。然後將其逆轉回去。 – Korem 2014-09-01 19:14:03
我不知道人們爲什麼會倒下。這是一個開始編碼的人的合理問題。這不是一個「做我的作業」類型的問題。 – Pedro 2014-09-01 19:14:37