def hanoi(n,src,dsc,aux):
if n == 1:
print_move(src,dsc)
else:
hanoi(n-1,src,aux,dsc)
print_move(src,dsc)
hanoi(n-1,aux,dsc,src)
def print_move(src,dsc):
print("Move the top disk from",src,"to",dsc)
我希望的河內代碼以上塔改變,以輸出一個元組的移動,當順序執行將通過輔助極所有從源極的磁盤移動到目的地極。磁盤移動被定義爲一對兩個數字:源極和目標極。例如,(1, 3)
表示磁盤從第一極移動到第三極。因此,hanoi(2,1,3,2)
將輸出((1,2),(1,3),(2,3))
塔河內 - 的移動的元組
我的方法是創建一個全局變量,稱爲tup
,一個空元組。然後,無論何時創建新的元組移動,它都將被添加到tup
。我的問題是我不知道什麼時候我應該返回的tup
值以及其中hanoi
功能裏面我可以把return
線。
不能添加東西變成一個元組,但你可以返回一個列表,如果你願意,可以用'tuple(result)'將它轉換爲一個元組,但是我想你想要的是一個列表。 – justhalf