为了账号安全,请及时绑定邮箱和手机立即绑定

自己拿纸推到第二步不知道怎么来的了 求大神帮忙

http://img1.sycdn.imooc.com//5971e0e10001a50501050278.jpg

递归def move(n, a, b, c):
    if n==1:
        print a,'-->',c
        return
    move(n-1,a,c,b)
    print a,'-->',c
    move (n-1,b,a,c)
move(4, 'A', 'B', 'C')



大神 请问第二个A--C怎么来的啊?

正在回答

2 回答

def move(n, a, b, c):    #解释:定义一个函数(由下面代码的“a, '-->', c”可以看出,该函数的最终目的是要将a柱中的n个盘子移动到c柱中)。

    if n==1:
        print a,'-->',c       #只有一个盘子时,只需将其从a柱移动到c柱,一步到位。
        return
    move(n-1,a,c,b)       #继续定义函数,可以看出,与原始函数相比较,b与c的位置互换了,表示将a柱中的上面n-1个盘子移动到b柱中。
    print a,'-->',c           #然后一步是,将a柱中最下面那个盘子移动到c柱中。
    move (n-1,b,a,c)      #接着定义函数,可以看出,与原始函数相比较,a与b的位置互换了,表示将b柱中的n-1个盘子(b柱中总共n-1个盘子)全部移动到c盘中。
move(4, 'A', 'B', 'C')     #输出利用‘B’这个中转站将‘A’中的4个元素按顺序替换到'C'中的结果。

0 回复 有任何疑惑可以回复我~
#1

给我一个未来 提问者

手动/抱拳 谢谢大神
2017-07-24 回复 有任何疑惑可以回复我~

def move(n, a, b, c):
    if n==1:
        print a,'-->',c
        return
    move(n-1,a,c,b)
    print a,'-->',c
    move (n-1,b,a,c)
move(4, 'A', 'B', 'C')

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

自己拿纸推到第二步不知道怎么来的了 求大神帮忙

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信