37,719
社区成员
发帖
与我相关
我的任务
分享
def move(n, a, b, c):
if n == 1:
print('move', a, '-->', c)
else:
move(n-1, a, c, b) #这后面我有点看不明白
move(1, a, b, c)
move(n-1, b, a, c)
move(4, 'A', 'B', 'C')
move(n-1, a, c, b) #我觉得应该是直接把a移到b,不需要c
move(1, a, b, c) #我觉得应该是直接a移到c,不需要b
move(n-1, b, a, c) #我觉得应该是直接b移到c,不需要b
我觉得应该是以下这样的;好象不需借要助样;我是哪里没有理解到?
move(n-1, a, b)
move(1, a, c)
move(n-1, b, c)
[/quote]
如果是这样,那你现在写的就不是递归了,递归函数是要引用函数本身,参数的个数,位置也保持一致move(n-1, a, c, b) #我觉得应该是直接把a移到b,不需要c
move(1, a, b, c) #我觉得应该是直接a移到c,不需要b
move(n-1, b, a, c) #我觉得应该是直接b移到c,不需要b
我觉得应该是以下这样的;好象不需借要助样;我是哪里没有理解到?
move(n-1, a, b)
move(1, a, c)
move(n-1, b, c)
[/quote]
如果是这样,那你现在写的就不是递归了,递归函数是要是函数本身,参数的个数,位置也一样。move(n-1, a, c, b) #我觉得应该是直接把a移到b,不需要c
move(1, a, b, c) #我觉得应该是直接a移到c,不需要b
move(n-1, b, a, c) #我觉得应该是直接b移到c,不需要b
我觉得应该是以下这样的;好象不需借要助样;我是哪里没有理解到?
move(n-1, a, b)
move(1, a, c)
move(n-1, b, c)