用Python完成汉诺塔

steps = 0   #计算步数,一共移动几次完成
def hanoi(src, mid, des, n): #这个函数接收ABC三个柱子和圆盘个数N
    global steps   #将steps作为全局变量
    if n == 1:    #如果圆盘只有一个的话一部就完成了
        steps += 1
        print("[STEP{:>4}] {}->{}".format(steps, src, des))  #直接将圆盘从A移动到C
    else:
        hanoi(src,des,mid,n - 1)  #第一步,将A上的圆盘全部移动到B
        steps += 1
        print("[STEP{:>4}] {}->{}".format(steps, src, des))
        hanoi(mid,src,des,n - 1)      #第二部,将B上的圆盘全部移动到C
N = eval(input())  #N是几阶的汉诺塔,就是一共有几个可移动的圆盘
hanoi("A", "B", "C", N)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值