Discuss / Python / 经过评论区的一些研究,个人做一遍

经过评论区的一些研究,个人做一遍

Topic source

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

    if n==1:        #要学会递归的思想,其实就是层层套环。我们在编码第一步首先要想最里面最深层的那一环,就是当只有一个盘子时怎么move

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

    else:

        move(n-1,a,c,b)        #这里即使学友说过的,n-1就是最大盘子以上的所有盘,一次性从a移动到b

        print(a,"-->",c)        #这里就是把a的最大的盘子移动到c

        move(n-1,b,a,c)        #然后再把b上n-1的盘子移动到c,至此全部移动到c上了

move(3,A,B,C)        #调用函数

#事实上,我还深究了下代码运算过程,真的好复杂,我只是拿move(3,A,B,C)脑子都转不过来,目前最大的问题是如何优雅的把嵌套的过程用公式表达出来,希望有心人能展示一下,感谢大佬!


  • 1

Reply