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

如何消除Python整除测试函数运行后的None输出?

消除Python代码输出末尾的None

问题根源

你的函数num_divisibility没有设置返回值,Python中未定义return语句的函数默认返回None。你调用时用print(num_divisibility([...])),会先执行函数内部的print输出符合条件的数,接着打印函数的返回值None,所以末尾会多出这个无效输出。

两种解决方法

方法1:直接调用函数,去掉外层print

函数内部已经有print逻辑,直接调用函数即可,无需用print包裹:

def num_divisibility(num_list):
     for num in num_list:
        if num % 5 == 0:
            print(num)
num_divisibility([10, 20, 33, 46, 55])

运行输出:

10
20
55

方法2:让函数返回结果列表,外部处理输出

这种方式更符合函数单一职责原则,函数只负责筛选数据,输出由外部控制:

def num_divisibility(num_list):
    filtered_nums = []
    for num in num_list:
        if num % 5 == 0:
            filtered_nums.append(num)
    return filtered_nums

# 打印列表形式结果
print(num_divisibility([10, 20, 33, 46, 55]))

运行输出:

[10, 20, 55]

如果需要保持原输出格式(每个数单独一行),可以遍历返回的列表逐个打印:

def num_divisibility(num_list):
    filtered_nums = []
    for num in num_list:
        if num % 5 == 0:
            filtered_nums.append(num)
    return filtered_nums

for num in num_divisibility([10, 20, 33, 46, 55]):
    print(num)

运行输出:

10
20
55

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:10:38