自己拿紙推到第二步不知道怎么來的了 求大神幫忙

遞歸def move(n, a, b, c):
??? if n==1:
??????? print a,'-->',c
??????? return
??? move(n-1,a,c,b)
??? print a,'-->',c
??? move (n-1,b,a,c)
move(4, 'A', 'B', 'C')
大神 請問第二個A--C怎么來的???

遞歸def move(n, a, b, c):
??? if n==1:
??????? print a,'-->',c
??????? return
??? move(n-1,a,c,b)
??? print a,'-->',c
??? move (n-1,b,a,c)
move(4, 'A', 'B', 'C')
大神 請問第二個A--C怎么來的???
2017-07-21
舉報
2017-07-23
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柱中。
??? 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'中的結果。
2017-07-21
def move(n, a, b, c):
??? if n==1:
??????? print a,'-->',c
??????? return
??? move(n-1,a,c,b)
??? print a,'-->',c
??? move (n-1,b,a,c)
move(4, 'A', 'B', 'C')