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

第7行move(n-1,b,a,c)是怎么运行的呢,为什么print语句放第六行而不放第八行呢

顺带调试的时候遇到一个小问题有没有大神帮忙看下,就是在运行到n=1时继续点了step into ,然后就弹出来iostream.py(如图),这是什么情况啊https://img1.sycdn.imooc.com//5d5d54540001087219201048.png

https://img1.sycdn.imooc.com//5d5d545400010e4a19201048.png

https://img1.sycdn.imooc.com//5d5d54550001317e19201048.png


正在回答

2 回答

把n个从a依靠b移动到c,你在a通过c移动到b上n-1个之后,a上剩了一个,你要先把a上这个移动到c,就是print(a+'-->', c),这时才是解决了移动a最底下那个到c的过程,然后这时n-1个在b上,自然就是b上的n-1个通过a移动到c了,move(n-1, b, a, c)


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

DT派 提问者

多谢分享,移动过程感觉可以理解,只是为什么最后这一步move(n-1, b, a, c)不需要打印一下呢
2019-08-27 回复 有任何疑惑可以回复我~
#2

宝慕林3336349

因为执行move(n-1, a, c, b)时还需要把a的最后一个圆盘移到c,所以print a-->c; 而move(n-1, b, a, c)时,a没有圆盘了,b上有n-1个圆盘,这时需要把b的n-1个圆盘移到c; 此时问题相当于又回到了原点(把a的n个圆盘移到c),所以不再需要打印
2019-10-01 回复 有任何疑惑可以回复我~

我在python 官网下载之后安装了 打开哪个软件啊 同学 你知道吗

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

举报

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

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

进入课程

第7行move(n-1,b,a,c)是怎么运行的呢,为什么print语句放第六行而不放第八行呢

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