基於python的漢諾塔

很熟悉的漢諾塔,利用遞歸思想,用python來寫,非常簡單,代碼如下

#定義漢諾塔遞歸函數
def Hano(n,a,b,c):
    #n等於1的時候,只需移動a到c
    if n == 1:
        print(a,'-->',c)
        return
    #塔的高度大於等於2時,先把n-1座塔從a藉助c移動到b
    Hano(n-1,a,c,b)
    #再把a塔剩下的一個盤移動到c
    print(a,'-->',c)
    #最後把b塔的n-1個盤藉助a移動到c
    Hano(n-1,b,a,c)

def main():
    #輸入的字符轉換爲整型
    n = int(input())
    Hano(n,'A','B','C')

main()

一定要注意遞歸的時候形參和實參的位置,不要被abc弄混了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章