課程
/后端開發
/Python
/初識Python
為什么前面要寫成move(n-1,a,c,b)而后面寫成move(n-1,b,a,c)不能寫成move(n-1,a,b,c)呢
2019-07-05
源自:初識Python 7-5
正在回答
這個網站拿去用,不用謝
http://www.pythontutor.com/visualize.html#mode=display
https://www.cnblogs.com/tgycoder/p/6063722.html
一個不成熟的理解,僅供參考
剛開始的圓盤和柱子的狀態是這樣
不管有多少個圓盤, 完成這個移動,總的來說需要三步。
第一部分 就是要把 最大的那個圓盤孤立出來,剩下圓盤排好放在另一個柱子上。
move(n-1, a, b, c) #是什么意思呢 那就是 除了最后一個,只把上面的n-1個圓盤, 從A開始移動, 用B作為中轉站, 最終轉移到C上
最終變成這個樣子
第二部分,把孤立出來的最大的圓盤放到C柱子上, 所以代碼是這樣
print(a? + "-->" + c)?
現在是這個狀態
最后一部分,類似的思路,現在需要把B柱子上最大的圓盤孤立出來,放到C上,所以是 B作為起點,A作為中轉站,轉移到C上。代碼所以是:
move(n-1, b, a, c) # 至于為什么還是n-1呢 因為要把B柱子上圓盤全都轉移到C上。所以數量還是n-1 (第一步的n-1 是因為 最大的那個圓盤 我們沒有移動)
不知道這樣把函數形參 賦予實際意義,會不會幫助你理解
慕的地1481129
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-15
這個網站拿去用,不用謝
http://www.pythontutor.com/visualize.html#mode=display
2019-07-07
https://www.cnblogs.com/tgycoder/p/6063722.html
一個不成熟的理解,僅供參考
剛開始的圓盤和柱子的狀態是這樣
不管有多少個圓盤, 完成這個移動,總的來說需要三步。
第一部分 就是要把 最大的那個圓盤孤立出來,剩下圓盤排好放在另一個柱子上。
最終變成這個樣子
第二部分,把孤立出來的最大的圓盤放到C柱子上, 所以代碼是這樣
現在是這個狀態
最后一部分,類似的思路,現在需要把B柱子上最大的圓盤孤立出來,放到C上,所以是 B作為起點,A作為中轉站,轉移到C上。代碼所以是:
不知道這樣把函數形參 賦予實際意義,會不會幫助你理解