#问题:将原本在A盘的三个木块,依次从A移动到B,保证在移动的过程中小盘永远在大盘的上面
#A B C 三个盘
#mFrom 源头 初始为A盘
#mTo 目的地 初始为B盘
#mHelp 辅助 初始为C盘
def printHanoiTower(N, mFrom, mTo, mHelp):
if N == 1:
#出口 如果N=1 则递归回调
print("move", N, "from", mFrom, "to", mTo)
else:
#将N-1个盘从源头移动到辅助盘
printHanoiTower(N-1, mFrom, mHelp, mTo)
#将第N个盘从源头移动到目的地
print("move", N, "from", mFrom, "to", mTo)
#将N-1个盘从辅助盘移动到目的地
printHanoiTower(N-1, mHelp, mTo, mFrom)
if __name__ == "__main__":
printHanoiTower(10, "A", "B", "C")