Python天花板风扇调速函数pullString返回None问题排查与修复
解决pullString函数返回None的问题
你的代码核心问题是多余的try-except结构,并且没有覆盖所有分支的返回逻辑:
- 当
current_speed < maximum_speed时,try块内的条件触发,返回加1后的值,这部分正常工作。 - 当
current_speed == maximum_speed时,既不满足try里的maximum_speed > current_speed条件,也不会触发任何异常(这里根本没有会抛出错误的代码),函数执行完后没有进入except块,也没有其他return语句,最终返回None。
修正后的代码
def pullString(current_speed, maximum_speed): if current_speed < maximum_speed: return current_speed + 1 else: return 0 print(pullString(2, 5)) # 输出3 print(pullString(4, 5)) # 输出5 print(pullString(7, 7)) # 输出0
修正说明
- 移除了完全没必要的try-except:这里的逻辑判断不会产生异常,用try-except属于画蛇添足。
- 用else分支覆盖所有
current_speed >= maximum_speed的场景(包括等于最大值的情况),直接返回0,确保函数在任何合法输入下都有明确的返回值。
内容的提问来源于stack exchange,提问作者nawaf n
相关产品推荐
相关产品推荐

