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

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

move(n, a, b, c):

為什么move(n, a, b, c):表示n從a->b

還有print a, '-->', c 為什么只在

move(n-1, a, c, b) ?

? ? print a, '-->', c ?#c=b

? ? move(n-1, b, a, c)

中間寫一次?

print a, '-->', c 是相對于move(n, a, b, c):還是對于move(n-1, a, c, b) ?說的

正在回答

2 回答

def?move(n,?a,?b,?c):
????if?n==1:
#將第n個盤子從A上直接搬到C上
????????print(a,'--->',c)
????????return
#n-1個盤子從A經過C搬到B上
????move(n-1,a,c,b)
????print(a,'--->',c)
#將n-1個盤子從B經過A搬到C上
????move(n-1,b,a,c)
move(4,?'A',?'B',?'C')


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

我來把整段代碼解釋一下吧!希望能解決你的問題。

def move(n, a, b, c): ? ?#定義一個函數(由下面代碼的“a, '-->', c”可以看出,該函數的最終目的是要將a柱中的n個盤子移動到c柱中)。

??? if n==1:
??????? print a,'-->',c ? ? ? #只有一個盤子時,只需將其從a柱移動到c柱,一步到位。
??????? return
??? move(n-1,a,c,b) ? ? ? #這一行代碼可以理解成是在繼續定義函數,可以看出,與原始函數相比較,b與c的位置互換了,表示將a柱中的上面n-1個盤子移動到b柱中,b柱中就總共有n-1個盤子。那么,a柱中就只剩下最下面一個盤子了。
??? print a,'-->',c ? ? ? ? ? #然后一步是,將a柱中的盤子即剩下的最下面那個盤子移動到c柱中。
??? move (n-1,b,a,c) ? ? ?#接著定義函數,可以看出,與原始函數相比較,a與b的位置互換了,表示將b柱中的n-1個盤子(b柱中總共n-1個盤子)全部移動到c盤中。
move(4, 'A', 'B', 'C') ? ? #輸出利用‘B’這個中轉站將‘A’中的4個元素按順序替換到'C'中的結果。


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

舉報

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

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

進入課程

move(n, a, b, c):

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

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

幫助反饋 APP下載

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

公眾號

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