Python实现汉诺塔实验

汉诺塔主要是有三个塔座A,B,C,要求将三个大小不同,依小到大编号为1,2.....n的圆盘从A移动到塔座C上,要求
(1):每次只能移动一个圆盘
(2):圆盘可以插到A,B,C中任一塔座上
(3):任何时候不能将一个较大的圆盘压在较小的圆盘之上
def hanoi(n, a, b, c): # 一共有n个盘子需要从a经过b移动到c
    if n > 0: # 结束条件
        hanoi(n-1, a, c, b)  # 把n-1个盘子当成一个整体,将n-1个盘子从a经过c移动到b
        print(f"{a} moving to {c}")
        hanoi(n-1, b, a, c)  # 然后把n从a移动到c,将n-1个盘子从b经过a移动到c
    else:
        return None

if __name__=="__main__":
    hanoi(10, "A", "B", "C")

 

posted @ 2021-09-28 13:33  chloe_qq  阅读(231)  评论(0编辑  收藏  举报