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

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

求解釋代碼和運行結果

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

看不懂代碼和運行結果,請各位大神解釋一下

正在回答

4 回答

大神們,能把代碼的運行步驟詳細地列出來嗎,為什么會得出這樣的一個運行結果

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

其實這個很好理解,if n==1那段代碼就是move(1,A,B,C),后面的那個就跟把大象放進冰箱一樣的道理分三步:1、把n-1個盤子借助C從A-->B即move(n-1,A,C,B);2、把剩下的那一個盤子從A-->C即move(1,A,B,C)或者直接print("A-->C");3、把剛才移到B上的那n-1個盤子借助A移到C上即move(n-1,B,A,C)

希望對你有所幫助!哈哈……


0 回復 有任何疑惑可以回復我~
def?move(n,?a,?b,?c):
#?如果a柱子上面只有一個盤子,則直接移到c柱子上面去并輸出路徑,結束遞歸
????if?n?==?1:
????????print?a,?'-->',?c
????????return
????move(n-1,?a,?c,?b)???#?表示的是將n-1的盤子從a柱子上面移到b柱子上面去
????print?a,?'-->',?c???#?輸出最下面個盤子移從a移到c的路徑
????move(n-1,?b,?a,?c)???#?將b柱子上面的n-1個盤子移動到c柱子上面
move(2,?'A',?'B',?'C')


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

我的理解是 當N=1也就是一摞盤子中最下面那個盤子的時候可以直接移動到C,那么不是最下面的盤子呢?我們就把其他的盤子先移動到B,再當把最下面的盤子移動到C的時候再把剩下的盤子移動到C

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

舉報

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

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

進入課程

求解釋代碼和運行結果

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

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

幫助反饋 APP下載

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

公眾號

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