这是什么步骤运行的
这个代码的运行顺序是什么
这个代码的运行顺序是什么
2016-12-05
1.def move(n, a, b, c):
2. if n ==1:
3. print a, '-->', c
4. return
5. move(n-1, a, c, b)
6. print a, '-->', c
7. move(n-1, b, a, c)
8.move(4, 'A', 'B', 'C')
执行的顺序其实就是从上到下按序执行的,第8行代码入口,调用方法,到第1行去,传入参数n=4和ABC(注意顺序),先进行判断,不符合条件,然后到达下一个move方法,这是参数n = 3和ACB,又一次的回到第一行代码,继续判断,每次执行方法时的四个参数都会变化,这里要注意每次return回来的时候,参数是上一层的参数。
其实将n设置为2或者3,在第一行和第二行之间添加print n的话,更加容易理顺思路,我也是困在这里一阵子才想明白的,递归主要是在做循环,主要是找到每个循环中的步骤,其他的交给程序自己来弄就好了,
举报