def move(n,a,b,c):
if n==1:
print(a,'-->',c) #如果只有一个,可以直接移动了
else:
move(n-1,a,c,b) #先想方设法把最上面的n-1个盘子从a移动到b上 a='a',c='b',b='c'
move(1,a,b,c) #可以移动最底下的盘子了
move(n-1,b,a,c) #再想方设法把B上的盘子移到C上
move(3,'a','b','c')
这是我在网上搜的一个程序,实在理解不了。
move(n,a,b,c) 到 move(n-1,a,c,b) 它的参数是如何传递的。
我不明白为什么 move(n-1,a,c,b) 一开始 N =2 的时候参数会变成(2,'a','c','b')当N=1的时候,参数又变成了 (1,'a','b','c')感觉一会按照顺序传递参数,一会又是按照形参一对一的传递参数。
|