|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在书中第六章,函数中,递归这一节里,其中
def recursion(n):
result = n
for i in range(1,n):
result *= i
return result
我们应该如何理解,为什么是返回的结果是1*2*3*4*5啊?
按照for循环,range(1,n),假设n为5,那么返回应该是1,2,3,4
result *= i
就是5 *= i
那最终return result不是应该为5*1 + 5*2 + 5*3 + 5*4的结果么?
网上也没查到合理的解释
如果强行就是理解为阶乘,可是后来我做了测试那么下边 ** 应是冥次方,为什么返回的结果又是5了?
>>> def recursion(n):
result = n
for i in range(1,n):
result ** i
return result
>>> recursion(5)
5
求大神解答。。。
设n=5
循环前result = 5
第一次循环result= 5* 1
第二次result=5*1*2
3次result=5*1*2*3
4次result=5*1*2*3*4
|
|