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

原理明白,但第五和第七行表达不明白

move 里面a,b.c参数表达不明白,第五行为什么事a,c,b而第七行是b,a,c

正在回答

3 回答

def move(n, a, b, c):
    if n ==1:
        print a, '-->', c
        return
    
    move(n-1, a, c, b)
    print a,'--->',c  等价于    move(1,a,b,c),其实就是第N-1步移动完之后,移动最后一步,即把a移到c上就算完成了。
    move(n-1, b, a, c)
    
move(15, 'A', 'B', 'C')

中间第五至第七其实已经是算在def中,而且调用自己move这个,

假设n=2,那么就是A---B,A----C,B----C,而第五至第七这个演示就是在说这三步

而之所以会有a,c,b    b,a,c  这些差别是因为在n==1的时候才会打印出来a--->c也就是第1挪至第三的位置,所以要想打印出东西来,如a---b,就是  move(n,a,c,b),而b--->c就是move(n,b,a,c)了。

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

其实move里面的参数位置不是固定吗?为什么会变

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

move(n, a, b, c)表示的是将n个圆盘从a柱上经过b柱移动到c柱上

第五行的a,c,b就是从a柱上经过c柱移动到b柱上去

第七行的b,a,c就是从b柱上经过a柱移动到c柱上去

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

举报

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

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

进入课程

原理明白,但第五和第七行表达不明白

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号