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

Python函数返回None异常咨询:温度判断返回值不符预期

解决你的Python函数返回None问题

嘿,作为刚学Python的新手,遇到这个问题太正常啦,我来帮你捋清楚~

首先,你提到已经“指定返回fahrenheit”,但其实问题出在你的函数逻辑没有覆盖所有可能的情况。Python函数的规则是:如果执行到函数末尾都没碰到return语句,就会默认返回None——哪怕你在某些分支里写了return,没覆盖到的分支还是会走默认逻辑。

举个例子,我猜你的函数大概是这样写的:

def check_temperature(fahrenheit):
    if fahrenheit > 90:
        return "hot"
    if fahrenheit < 30:
        return "cold"
    # 这里!当温度在30到90之间时,没有任何return语句

当fahrenheit的值在30到90之间时,两个if条件都不满足,函数就会一步步执行到末尾,然后返回None。你以为的“指定返回fahrenheit”,可能是误解了函数的返回逻辑——只有明确写了return 某个值的地方,才会返回对应内容,没写的分支不会自动返回参数本身哦。

怎么修正?

你只需要给所有情况都加上明确的return即可,比如:

方案1:给中间温度区间返回描述词

def check_temperature(fahrenheit):
    if fahrenheit > 90:
        return "hot"
    elif fahrenheit < 30:
        return "cold"
    else:
        return "moderate"  # 或者其他你想返回的内容

方案2:中间情况返回fahrenheit本身

如果你确实想在非热非冷的时候返回fahrenheit的值,那可以这样写:

def check_temperature(fahrenheit):
    if fahrenheit > 90:
        return "hot"
    elif fahrenheit < 30:
        return "cold"
    return fahrenheit  # 处理30-90之间的情况

这样不管输入什么温度,函数都有对应的return语句,就不会再返回None啦。

记住一个小要点:Python函数的返回完全由return语句控制,没有return的分支必然返回None,这是新手很容易踩的坑哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:44:46