python – 递归函数帮助/解释
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 递归函数帮助/解释,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1204字,纯文字阅读大概需要2分钟。
内容图文
![python – 递归函数帮助/解释](/upload/InfoBanner/zyjiaocheng/787/e420a74cdb754aec86a85237e616dd80.jpg)
有人可以解释在大于大于0并且返回0之后会发生什么?我无法理解程序如何产生4,7,9,10.我相信在mySum()函数中调用mySum()的迭代返回0.这会将结果设置为1 0,等于1.有人可以花一些时间来引导我完成这项工作吗?
def ourSum(lower, upper, margin=0):
blanks = ' ' * margin
print(blanks, lower, upper)
if lower > upper:
print(blanks, 0)
return 0
else:
results = lower + ourSum(lower + 1, upper, margin + 4)
print(blanks, results)
return results
我们的结果(1,4)如下:
1 4
2 4
3 4
4 4
5 4
0
4
7
9
10
10
解决方法:
ourSum(1,4):
>这打印’1 4′
>然后检查:1< 4 - >假
>所以结果= 1 ourSum(2,4,4)
这种情况一直持续到低于>鞋面,其发生在5>但是在这一点上我们有4级递归仍然需要返回数值结果:
> ourSum(1,4,0??),ourSum(2,4,4),ourSum(3,4,8),ourSum(4,4,12)
因此,首先我们的星(5,4,16)返回0,原因如下:
if lower > upper:
print(blanks, 0)
return 0
> ourSum(5,4,16)返回0,因此前一次递归得到 – >结果= 4(此时下限= 4)0所以我们用适当数量的’空白’打印4,然后我们返回结果(= 4)
>之前的递归就坐在那里:
结果= 3 ourSum(4,4,12)
但是我们刚刚返回了我们的结果(4,4,12)= 4.
所以现在:
> results = 3 4 = 7.打印7和空白并返回结果(ourSum(3,4,8)返回7)
保持这样做结果= 2 ourSum(3,4,8),但这是7所以结果= 9.打印并继续保持剩下的结果= 1 ourSum(2,4,4)= 10最后,对于我们的我们的结果(1,4)的初始问题我们返回结果= 10.
内容总结
以上是互联网集市为您收集整理的python – 递归函数帮助/解释全部内容,希望文章能够帮你解决python – 递归函数帮助/解释所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。