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

这里abc的顺序代表什么

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

第五行和第七行括号中a,c,b和b,a,c的顺序是什么意思?不是说吧n-1移动到b,再从b移动到c,为什么第五行要写a,b,c

第七行要写b,a,c,

中间b和a都是什么意思


正在回答

2 回答

只要记得将n个盘子从第1个字符所代表的位置转移到第3个字符代表的位置


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

move(n,a,b,c) 中,n表示数量,第一个字符a表示将要被转移的一方,c表示第一个字符转移后的位置。

move(n-1, a, c, b)就表示将n-1个盘子从a移动到b   move(n-1, b, a, c)表示将n-1个盘子从b移动到c
不需要关注字符是啥,只要记得将n个盘子从第一个字符所代表的位置转移到第二个字符代表的位置


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

姚云治 提问者

中间那个c和a就是直接忽略掉么?
2018-11-19 回复 有任何疑惑可以回复我~
#2

qq_雙子_04312075 回复 姚云治 提问者

不是忽略 只是暂时不需要用到中间那个柱子 你每次移动要改变的只有两个柱子 主需要关注你要盘子转移的柱子和盘子将要转移的柱子就好 这个时候剩下的那个柱子是不需要做任何改变,可以说忽略
2018-12-21 回复 有任何疑惑可以回复我~
#3

HuiKaChun 回复 姚云治 提问者

我理解的是中间的c和a可以被视为“桥梁”。比如move(n-1,a, c, b),指的是将n-1个盘子从a柱挪到b柱,挪动过程中一定要借助c柱才能满足一次挪一个盘且大盘不能叠在小盘上方的要求。
2019-01-15 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这里abc的顺序代表什么

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