B=[] #设置操作过程列表
def move(n, a, b, c): if n==1: step=a+str(n)+'-->'+c+str(n) #一个圆盘需要从A到C操作步骤 B.append(step) #向列表中添加操作步骤 return move(n-1,a,c,b) #将A柱的n-1个盘移到B柱 step=a+str(n)+'-->'+c+str(n) #将A柱的第n个盘移到C柱操作步骤 B.append(step) #向列表中添加操作步骤 move(n-1,b,a,c) #将过渡柱子B上n-1个圆盘移动到目标柱子C
move(int(input('请输入盘子数:')),'A','B','C') print('共需操作'+str(len(B))+'次','操作过程为:\n',B) #打印操作数和操作过程
Sign in to make a reply
牧神的午后X
B=[] #设置操作过程列表
def move(n, a, b, c): if n==1: step=a+str(n)+'-->'+c+str(n) #一个圆盘需要从A到C操作步骤 B.append(step) #向列表中添加操作步骤 return move(n-1,a,c,b) #将A柱的n-1个盘移到B柱 step=a+str(n)+'-->'+c+str(n) #将A柱的第n个盘移到C柱操作步骤 B.append(step) #向列表中添加操作步骤 move(n-1,b,a,c) #将过渡柱子B上n-1个圆盘移动到目标柱子C
move(int(input('请输入盘子数:')),'A','B','C') print('共需操作'+str(len(B))+'次','操作过程为:\n',B) #打印操作数和操作过程