课程
/后端开发
/Python
/初识Python
为什么结果会出来那么多?到底循环了多少次?函数内参数的顺序是任意的吗?
2017-09-19
源自:初识Python 7-5
正在回答
因为每次递归他就要走完全部代码除非遇到return
1,if n==1:
print a, '-->', c return
2,move(n-1, a, c, b)3,print a, '-->', c
4, move(n-1, b, a, c)
当调用move(4, 'A', 'B', 'C')时进入函数后,
他要走1->2->3->4
到2时递归又要走一个1->2->3->4
把2的所有递归走完 还要回去走 3->4
几种方案:
1、break跳出循环(如:while n>=100 break)
2、定义循环的范围
递归的调用是倒过来的,你可以用n=2的带入你的函数观察执行步骤,然后n=3依次。参数是根据传入的顺序判断的,跟值没有关系。
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序