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

如何消除Python函数输出末尾的None?原因及解决方法

搞定末尾的None:问题原因与解决方法

为什么会冒出个None?

  • 你的multiples函数里只有循环打印的逻辑,没写return语句。在Python里,任何没明确返回值的函数,默认都会返回None。
  • 你最后写的是print(multiples(7)):这行代码会先调用multiples(7),函数内部打印所有7的倍数;然后print()会把multiples(7)的返回值(也就是那个默认的None)也打印出来,所以末尾就多了个讨厌的None。

两种简单的解决办法

办法1:直接调用函数,别用print包着

把最后一行的print(multiples(7))改成:

multiples(7)

这样函数内部会自己打印所有符合条件的数,不会额外输出返回值None。

办法2:让函数返回结果列表(更推荐的写法)

换个思路,让函数先把所有7的倍数收集起来,再返回这个列表,最后打印列表就行。这样后续你还能对这些数做其他操作,比直接打印更灵活:

def multiples(x):
    result_list = []
    for n in range(100):
        current_num = n * x
        if current_num <= 100:
            result_list.append(current_num)
    return result_list

print(multiples(7))

另外,原代码里用n = n*x覆盖了循环变量n,改成current_num = n*x会更清晰,避免变量混淆哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:07:31