def counter(n):
if n < 0:
return
else:
print '1st print', n
counter(n-1)
print '2nd print', n
print counter(3)
# 1st print 3
# 1st print 2
# 1st print 1
# 1st print 0
# 2nd print 0
# 2nd print 1
# 2nd print 2
# 2nd print 3
# None
所以在擺弄遞歸函數之後,我意識到了一些很奇怪的東西,我不能完全包裹它。我理解從3到0打印的函數的第一部分,但我不明白從0到3再打印時的第二部分。當n = 0時函數不會停止嗎?Python:遞歸
請注意,您打印'n'兩次 - 一次在遞歸之前,一次*在它之後。一旦完成所有遞歸調用,所有等待遞歸調用的方法都會再次打印'n'(按相反順序)。嘗試用筆和紙自行運行。 –
這是python。請嘗試打算你的代碼,否則它可能毀了一切。我剛剛編輯它。 –
@AbdulFatir謝謝你的縮進修復,但英聯邦英語(「已實現」)是完全可以接受的,不應該被編輯。 – chrylis