Discuss / Python / 作业答案,卡在 参数a和位置a的混淆,用x区分。参照了百度过来的算法才完全看明白

作业答案,卡在 参数a和位置a的混淆,用x区分。参照了百度过来的算法才完全看明白

Topic source

报三春晖

#1 Created at ... [Delete] [Delete and Lock User]

def hanoi(n,x='a',y='b',z='c'): if n==1: print(x,'-->',z) else: hanoi(n-1,'a','c','b')#将前n-1个盘子从x移动到y上 hanoi(1,'a','b','c')#将最底下的最后一个盘子从x移动到z上 hanoi(n-1,'b','a','c')#将y上的n-1个盘子移动到z上 n=int(input('请输入汉诺塔的层数:')) hanoi(n)

报三春晖

#2 Created at ... [Delete] [Delete and Lock User]

不对,好像搞错了

报三春晖

#3 Created at ... [Delete] [Delete and Lock User]

def hanoi(n,x,y,z): if n==1: print(x,'-->',z) else: hanoi(n-1,x,z,y)#将前n-1个盘子从x移动到y上 hanoi(1,x,y,z)#将最底下的最后一个盘子从x移动到z上 hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z上 n=int(input('请输入汉诺塔的层数:')) hanoi(n,'x','y','z')


  • 1

Reply