課程
/后端開發
/Python
/初識Python
如上如上如上
2016-07-23
源自:初識Python 7-5
正在回答
如果a只有一個圓盤,可以直接移動到c;
如果a有N個圓盤,可以看成a有1個圓盤(底盤) + (N-1)個圓盤,首先需要把 (N-1) 個圓盤移動到 b,然后,將 a的最后一個圓盤移動到c,再將b的(N-1)個圓盤移動到c。
請編寫一個函數,給定輸入 n, a, b, c,打印出移動的步驟:
move(n, a, b, c)
例如,輸入 move(2, 'A', 'B', 'C'),打印出:
A --> BA --> CB --> C
首先搞明白這個函數 表明的目標是 n 個盤子 從a 到c 其中可以借助b?
那么就很明白了 n == 1 只需要 a 移動到c
當n=2 的時候 先要將 a上第一個盤子移動到 b ?再將a上的?第二盤子移動到 c ?再將b上的盤子移動到c
那么推廣一下 就知道了上面的分析是對的
def?move(n,?a,?b,?c):
????if?n==1:
????????print?a,'-->',c
????if?n>1:
????????move(n-1,a,c,b)
????????move(1,a,b,c)
????????move(n-1,b,a,c)
move(4,?'A',?'B',?'C')
柏舟0
M 提問者
這代表將A移到C的過程,只是用語句表示出來
如果A上只有一個盤子,則可將A上的盤子直接移動到C上
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-23
如果a只有一個圓盤,可以直接移動到c;
如果a有N個圓盤,可以看成a有1個圓盤(底盤) + (N-1)個圓盤,首先需要把 (N-1) 個圓盤移動到 b,然后,將 a的最后一個圓盤移動到c,再將b的(N-1)個圓盤移動到c。
請編寫一個函數,給定輸入 n, a, b, c,打印出移動的步驟:
move(n, a, b, c)
例如,輸入 move(2, 'A', 'B', 'C'),打印出:
A --> B
A --> C
B --> C
首先搞明白這個函數 表明的目標是 n 個盤子 從a 到c 其中可以借助b?
那么就很明白了 n == 1 只需要 a 移動到c
當n=2 的時候 先要將 a上第一個盤子移動到 b ?再將a上的?第二盤子移動到 c ?再將b上的盤子移動到c
那么推廣一下 就知道了上面的分析是對的
def?move(n,?a,?b,?c):
????if?n==1:
????????print?a,'-->',c
????if?n>1:
????????move(n-1,a,c,b)
????????move(1,a,b,c)
????????move(n-1,b,a,c)
move(4,?'A',?'B',?'C')
2016-07-23
這代表將A移到C的過程,只是用語句表示出來
2016-07-23
如果A上只有一個盤子,則可將A上的盤子直接移動到C上