有兩個的問題不明白
def move(n, a, b, c):
? ? if n ==1:
? ? ? ? print a, '-->', c
? ? ? ? return
? ? move(n-1, a, c, b)
? ? print a, '-->', c
? ? move(n-1, b, a, c)
move(8, 'A', 'B', 'C')
為什么第五行和第七行后面沒有了冒號?
還有就是第六行跟第七行換換可以不 或者說時第七行后邊在加一個第八行 ?print a,'-->',c ?這樣行么?
還有一個最后一行 為什么換用了‘A',‘B','C' ? ?
2016-04-18
1. 第五和第七行 是在調用函數,而不是定義函數,所以沒有冒號
2. 不能換,也不能加
3. 函數定義完了, 調用的時候可以傳任何參數, 你甚至可以:
4. 如果實在不明白 遞歸 ?, 不明白漢諾塔, 也不明白 函數的參數 等等這些知識,建議 搜索更多專門的文章,仔細學習。
?????Python 的 遞歸調用有深度限制問題, 但是遞歸思想還是很有用處的。?
?????漢諾塔跟八皇后 都是經典的遞歸案例, 建議都看看。
???? Python函數的參數 也有許多用法,值得深入學習。