問題:漢諾塔游戲是在一塊銅板裝置上,有三根桿(編號A、B、C),在A桿自下而上、由大到小按順序放置64個金盤。游戲的目標:把A桿上的金盤全部移到C桿上,并仍保持原有順序疊好。操作規則:每次只能移動一個盤子,并且在移動過程中三根桿上都始終保持大盤在下,小盤在上,操作過程中盤子可以置于A、B、C任一桿上。
代碼:
class HanoiTower:
def hanoi_tower(self,num,a,b,c):
#如果只有一個盤
if num==1:
print('第1個盤從'+a+'-->'+c)
else:
self.hanoi_tower(num-1,a,c,b)
print('第'+str(num)+'個盤從'+a+'-->'+c)
self.hanoi_tower(num-1,b,a,c)
if __name__ == '__main__':
hannoi=HanoiTower()
hannoi.hanoi_tower(5,'A','B','C')