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

答案里形参顺序为什么变化了?

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

print a, ‘--',  c  这部分还在定义?

正在回答

1 回答

汉诺塔讲究大小顺序,小的在上大的在下,要把n个盘子从a柱移到c柱就是move(n,a,b,c)。注意函数里面的4个参数:第一个参数(n)代表的是盘子个数,第二个参数(a)的位置代表的是起始柱,第三个参数(b)代表的是过渡柱,最后一个参数(c)代表的是目标柱。

你不要想具体的移动的步骤,抽象来想:

第一步就是把n-1个小盘子移到b,第二步是把a柱上的最大的盘子移到c,最后是把b柱上n-1个盘子移到c

所以第一步就是move(n-1,a,c,b) ,这个参数代表把n-1个盘子从a起始柱移到b目标柱,c就当是个过渡的柱子

第二步就是print a,'-->',c  ,这个表示把a起始柱上的一个盘子移到c

最后一步move(n-1,b,a,c),表示把b起始柱上的n-1个盘子移动到c上


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

人共友 提问者

非常感谢!
2017-10-15 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

答案里形参顺序为什么变化了?

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