古代有一个梵塔,塔内有 A、B、C 三个基座,A 座上有 64 个盘子,盘子大小不等,大的在下,小的在上

古代有一个梵塔,塔内有 A、B、C 三个基座,A 座上有 64 个盘子,盘子大小不等,大的在下,小的在上。有人想把这 64 个盘子
从 A 座移到 C 座,但每次只允许移动一个盘子,并且在移动的过程中,3 个基座上的盘子始终保持大盘在下,小盘在上。在移动过程中
盘子可以放在任何一个基座上,不允许放在别处。编写程序,用户输入盘子的个数,显示移动的过程。

def Hanoi(n, ch1, ch2, ch3):
    if n == 1:
        print(ch1, '->', ch3)
    else:
        Hanoi(n - 1, ch1, ch3, ch2)
        print(ch1, '->', ch3)
        Hanoi(n - 1, ch2, ch1, ch3)

N = int(input("请输入盘子的数量:"))
Hanoi(N, 'A', 'B', 'C')

你可能感兴趣的:(python题库)