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

为什么运行以下Python代码时输出结果中会额外出现None值

问题原因

  • Python 内置的print()函数仅负责向控制台输出内容,本身没有有效返回值,执行后默认返回None。你代码中将print('hot')的执行结果赋值给变量x,此时x的取值就是None,而print('hot')执行时已经直接输出了第一行的hot。
  • 你调用函数时使用了print(foo(66)),foo(66)执行完成后会返回变量x也就是None,外层的print会把这个返回值再次输出,就出现了额外的None。

另外你的原代码还存在边界判断漏洞:当temp=25或者temp=15时,所有条件分支都不会触发,函数会默认返回None,建议调整条件覆盖全部取值场景。

修复方案

可任选一种调整逻辑:

  1. 函数内部仅返回温度描述字符串,由外层统一打印
def foo(temp):
    if temp >= 25:
        return 'hot'
    elif temp >= 15:
        return 'warm'
    else:
        return 'cold'

print(foo(66))
  1. 函数内部已经完成打印逻辑,调用时不需要额外套print
def foo(temp):
    if temp >= 25:
        print('hot')
    elif temp >= 15:
        print('warm')
    else:
        print('cold')

foo(66)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:18:01