亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

看不懂兩條語句

為什么前面要寫成move(n-1,a,c,b)而后面寫成move(n-1,b,a,c)不能寫成move(n-1,a,b,c)呢

正在回答

2 回答


這個網站拿去用,不用謝

http://www.pythontutor.com/visualize.html#mode=display

0 回復 有任何疑惑可以回復我~

https://www.cnblogs.com/tgycoder/p/6063722.html

一個不成熟的理解,僅供參考

剛開始的圓盤和柱子的狀態是這樣

https://img1.sycdn.imooc.com//5d213cb700019cc403530102.jpg

不管有多少個圓盤, 完成這個移動,總的來說需要三步。

第一部分 就是要把 最大的那個圓盤孤立出來,剩下圓盤排好放在另一個柱子上。

move(n-1, a, b, c) #是什么意思呢 那就是 除了最后一個,只把上面的n-1個圓盤, 從A開始移動, 用B作為中轉站, 最終轉移到C上

最終變成這個樣子

https://img1.sycdn.imooc.com//5d213ce00001cd1403330093.jpg


第二部分,把孤立出來的最大的圓盤放到C柱子上, 所以代碼是這樣

print(a? + "-->" + c)?

現在是這個狀態

https://img1.sycdn.imooc.com//5d213d410001759403530098.jpg

最后一部分,類似的思路,現在需要把B柱子上最大的圓盤孤立出來,放到C上,所以是 B作為起點,A作為中轉站,轉移到C上。代碼所以是:

move(n-1, b, a, c) # 至于為什么還是n-1呢 因為要把B柱子上圓盤全都轉移到C上。所以數量還是n-1 (第一步的n-1 是因為 最大的那個圓盤 我們沒有移動)


不知道這樣把函數形參 賦予實際意義,會不會幫助你理解


7 回復 有任何疑惑可以回復我~
#1

慕的地1481129

嗯,理解了,挺靠邏輯的
2019-12-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758396    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

看不懂兩條語句

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號