Discuss / Python / 搞了半天原来是钻了牛角尖o(╥﹏╥)o

搞了半天原来是钻了牛角尖o(╥﹏╥)o

Topic source

汉诺塔可以理解为3步

#假设a为存放所有盘子的初始柱,b为中转柱,c为目标柱

1.将初始柱a上的n-1个盘子按照全部移动到b柱(不需要去想怎么把n-1移过去的)

2.将初始柱上最后一个盘子也就是最大的盘子n移动到目标柱c

3.将b柱上的n-1个盘子全部移动到c柱

代码

def move(n,a,b,c):    

    if n == 1:

        print(a,'-->',c)

    if n >= 2:

        move(n-1,a,b,c)

        print(a,'-->',c)

        move(n-1,b,a,c)

move(3,'A','B','C')

上面的位置写错了 -_-||

def move(n,a,b,c):    

    if n == 1:

        print(a,'-->',c)

    else:

        move(n-1,a,c,b)

        print(a,'-->',c)

        move(n-1,b,a,c)

move(3,'A','B','C')


  • 1

Reply