ja258736874 发表于 2021-2-26 23:59:30

昨非 发表于 2021-2-27 00:11:11

初值为5,然后在for循环里执行result*=i
这一语句是result=result*i的缩写,所以每次循环:
result=5*1=5
result=5*2=10
result=10*3=30
result=30*4=120
return 返回值为120

至于为什么把参数n赋值给result,只是为了好看,去掉直接用n也是一样的
如:def recursion(n):
    for i in range(1,n):
      n *= i
    return n
      
print(recursion(5))
结果一样是120

第二问:
for i in range(1,n)只是控制循环次数,循环四次,
每次执行result+=1,是result=result+1的缩写,
基础数为5,加四次1,结果当然为9

ja258736874 发表于 2021-3-2 21:57:57

昨非 发表于 2021-3-2 22:02:51

ja258736874 发表于 2021-3-2 21:57
恍然大悟...非洲小镇断网了..现在才看到!!哈哈哈 感谢你的解答!

小问题哈
页: [1]
查看完整版本: 关于递归函数的问题