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

print a, '-->', c

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

print a, '-->', c 为什么这里要加这一行呢? 我没有加也通过了呀?没搞懂,求大神指点

正在回答

6 回答

谢谢啦,么么哒(*  ̄3)(ε ̄ *)

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

你在递归调用啊,n = 1 时不就输出了么

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

move(1,a,b,c)

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

这句不就加了

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

你没有加PRINT 那你怎么输出的正确答案?   每一个递归的最终形态就是为了输出这个PRINT。

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

katherinealinat 提问者

def move(n, a, b, c): if n==1 : print a,'-->',c return move(n-1,a,c,b) move(1,a,b,c) move(n-1,b,a,c) move(4, 'A', 'B', 'C') 我的代码是这样的 请问那为什么后面几个的move后面不用加上print呢?
2016-07-20 回复 有任何疑惑可以回复我~
#2

_感受者_3621593 回复 katherinealinat 提问者

后几个move在n不等于1的时候执行,然后递归调用n-1时的move,直到n=1时输出 也就是,表面上看起来,我们队n>1的复杂情况,交给下一级递归去考虑,我们只对n=1时的情况作我们可见的动作。。 这么说会不会有点绕。。 回复的有点晚,你可能已经明白了吧
2016-07-23 回复 有任何疑惑可以回复我~

把n-1个铜盘通过c移动到b之后,a里面还剩一个,一个的情况直接放到c上

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

举报

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

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

进入课程

print a, '-->', c

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