Discuss / Python / 交作业

交作业

Topic source

UMeowBing

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

def move(n,a,b,c): if n == 1: print(a,'->',c) else: move(n-1,a,c,b) move(1,a,b,c) move(n-1,b,a,c) x = (2**n)-1 return x

x = move(4,"a","b","c") print("move steps :", x)

结果: a -> b a -> c b -> c a -> b c -> a c -> b a -> b a -> c b -> c b -> a c -> a b -> c a -> b a -> c b -> c move steps : 15

def move(n,a,b,c): if n==1: return(a,'->',c)
else: move(n-1,a,c,b) #将前n-1个盘子从x移动到y上 move(1,a,b,c) #将最底下的最后一个盘子从x移动到z上 move(n-1,b,a,c) #将y上的n-1个盘子移动到z上 print(move(3,'A','B','C')) 求助,为什么我把print放在最后结果只是显示none,还有else是可以省略吗?


  • 1

Reply