原理明白,但第五和第七行表达不明白
move 里面a,b.c参数表达不明白,第五行为什么事a,c,b而第七行是b,a,c
move 里面a,b.c参数表达不明白,第五行为什么事a,c,b而第七行是b,a,c
2016-06-24
def move(n, a, b, c): if n ==1: print a, '-->', c return move(n-1, a, c, b) print a,'--->',c 等价于 move(1,a,b,c),其实就是第N-1步移动完之后,移动最后一步,即把a移到c上就算完成了。 move(n-1, b, a, c) move(15, 'A', 'B', 'C')
中间第五至第七其实已经是算在def中,而且调用自己move这个,
假设n=2,那么就是A---B,A----C,B----C,而第五至第七这个演示就是在说这三步
而之所以会有a,c,b b,a,c 这些差别是因为在n==1的时候才会打印出来a--->c也就是第1挪至第三的位置,所以要想打印出东西来,如a---b,就是 move(n,a,c,b),而b--->c就是move(n,b,a,c)了。
举报