You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CS50 vanity plates问题:为何is_valid函数需显式return True?

关于CS50 Vanity Plates问题中return True的疑问解答

首先得明确Python函数的默认返回规则:如果函数里没有显式写return语句,不管前面的逻辑有没有满足条件,函数最后都会默认返回None。

你写的is_valid函数是用来判断车牌合法性的——当函数返回True时,程序输出合法;返回False或None时,输出Invalid。

举个你场景里的代码例子:

def is_valid(s):
    if 2 <= len(s) <= 6:
        # 这里原本有return True,现在移除了
    # 后续其他检查逻辑...

当输入的车牌长度符合2-6位时,代码会进入if分支,但因为没有return语句,程序会继续执行后续代码直到函数结束,最终返回None。而在Python的布尔判断里,None会被当作False处理,所以程序会判定车牌不合法,输出Invalid。

而加上return True的作用,就是在长度符合要求时,明确告诉函数:这个情况是合法的,直接返回True,这样调用该函数的代码就能拿到正确的布尔值,输出对应的结果。

说白了:Python不会自动帮你返回True,函数的返回值必须通过return语句明确指定。只要没写return,不管逻辑是否满足条件,函数最终都会返回None,被判定为不合法。

内容的提问来源于stack exchange,提问作者Jay Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:35:50