參考代碼中if n==1是否有誤?
我的是這樣的
def move(n, a, b, c):
??? if n==0:
??????? return a+'-->'+c
??? n=n-1
??? move(n,a,c,b)
??? print a+'-->'+c
??? move(n,b,a,c)
???
move(4, 'A', 'B', 'C')
根據打印出的內容我一步步移動了漢諾盤,覺得n==0才是對的
求解我的代碼和參考代碼的不同
我的是這樣的
def move(n, a, b, c):
??? if n==0:
??????? return a+'-->'+c
??? n=n-1
??? move(n,a,c,b)
??? print a+'-->'+c
??? move(n,b,a,c)
???
move(4, 'A', 'B', 'C')
根據打印出的內容我一步步移動了漢諾盤,覺得n==0才是對的
求解我的代碼和參考代碼的不同
2016-06-02
舉報
2016-06-06
額,之前我僅僅對于你問的參考代碼中是否有誤作出回答,它是對的;
當然,你也是對的,因為你的代碼中迭代的邏輯和它不一樣,n值定義不一樣,沒有可比性
2016-06-03
確認有問題
2016-06-02
n的值是進入函數(動作執行前)時a的值,如果move函數的截止數n==0,則說明進行動作前a沒有盤子,則盤子從a移到c是有問題的