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

如何用自定义Python函数筛选用户输入列表中的偶数

解决从用户输入中提取偶数的问题

你的代码存在几个关键问题,导致无法正确实现提取偶数的功能:

  • 直接用list(input(...))处理输入会把字符串拆成单个字符,比如输入2 4 5会变成['2',' ','4',' ','5'],包含空格和字符串类型的数字,后续做取模运算会报错。
  • 没有将输入的字符串转换为整数类型,直接对字符串执行%2操作不符合Python语法。
  • 调用filter_even()后没有输出结果,无法看到筛选后的偶数。

修正后的代码

def filter_even(numbers):
    result_list = []
    for number in numbers:
        if number % 2 == 0:
            result_list.append(number)
    return result_list

# 按空格分割输入字符串,转换为整数列表
input_str = input('输入用空格分隔的数字:')
number_list = [int(num) for num in input_str.split()]
# 调用函数并打印结果
print(filter_even(number_list))

代码优化(可选)

可以用列表推导式简化函数逻辑,让代码更简洁:

def filter_even(numbers):
    return [num for num in numbers if num % 2 == 0]

input_str = input('输入用空格分隔的数字:')
number_list = [int(num) for num in input_str.split()]
print(filter_even(number_list))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:42:57