Python求a与b区间和问题:代码返回None原因排查
代码返回None的原因分析
range参数错误,循环从未执行
Python的range(start, end)默认步长为1,当start > end时,这个区间是空的,不会生成任何数值。比如a > b时你写的range(a, b),以及a < b时的range(b, a),都是空区间,循环体一次都不会运行。分支内无有效return语句
因为循环没执行,if a > b和elif a < b分支里的return num根本没机会触发。函数执行完所有代码后,没有遇到任何return指令,Python会默认返回None。
额外提一句:就算range参数写对了,你把return num放在for循环内部,也会导致循环只执行一次就直接返回,这也是明显的逻辑错误,但当前导致返回None的核心原因是上面两点。
内容的提问来源于stack exchange,提问作者VibesT93
相关产品推荐
相关产品推荐

