|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位老师,求助第49课递归的问题:
>>> def factRecur(n):
... if n == 1:
... return 1
... else:
... return n * factRecur(n-1)
...
>>> factRecur(5)
n * factRecur(n-1) 当 n = 5时:
是不是可以这样理解:
5 * factRecur(5-1) -- 4 * factRecur(4-1) -- 3 * factRecur(3-1) -- 2 * factRecur(2-1) = 5*4*3*2 = 120
那为什么最后返回的不是 1 而是120呢?
本帖最后由 chinajz 于 2023-3-1 21:16 编辑
工作过程:
- def factRecur(n):
- if n == 1:
- return 1
- else:
- print(n,end=" x ")#n值由大向小递归,直到2
- return n * factRecur(n-1)
- print ("1 =", factRecur(5)) #把n=1时,返回值1补完整。
复制代码
运行:
|
|