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

看不懂,有大佬解释下吗

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')


正在回答

1 回答

就是把 a 柱子上面的 n 个盘子挪到 c 柱子上;现在用 b 这个中间柱子辅助我们 把 a 上的所有盘子给挪到 c 上

如果就只有一个盘子就直接把它放到 c 上   : a -> c

move ( n - 1, a, c, b) #就是说把除了最底下的那个盘子以外的全部挪到 b 上去,现在我们用递归方法就不用去体现细节
#  你就可以理解为 现在 c 就是中间柱子辅助我们把盘子从 a 挪到 b
print a, "->", c  #现在把最下面的那个盘子挪到 c 上
move ( n - 1, b, a, c)  #现在其余的盘子全在 b 上,我们把它挪到 c 上,此时的 a 就是中间柱子辅助的
'''
可能我说的也不一定准确,不过还是希望能帮到你
哈哈哈哈O(∩_∩)O哈哈~
'''


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

举报

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

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

进入课程

看不懂,有大佬解释下吗

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