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

如何用for循环筛选奇数?Python代码无输出问题求助

问题分析与代码修正

核心错误点

  • is_odd函数逻辑完全颠倒:当前函数在数字是偶数(num % 2 == 0)时返回True,和函数名“判断奇数”的目标完全相反。
  • 循环判断与执行逻辑错误:if num == is_odd是把数字和函数对象做比较,永远不会成立;且continue写在print(num)前面,就算条件成立,也会直接跳过打印操作,导致无输出。

修正后的代码

def is_odd(num):
    # 奇数除以2余1,返回对应的判断结果
    return num % 2 != 0

some_numbers = [91, 88, 38, 103, 199372, 3, 4945, 20098]
for num in some_numbers:
    # 调用is_odd函数判断当前数字是否为奇数
    if is_odd(num):
        print(num)

更简洁的简化写法(可选)

如果不需要单独的判断函数,可直接在循环内完成判断:

some_numbers = [91, 88, 38, 103, 199372, 3, 4945, 20098]
for num in some_numbers:
    if num % 2 != 0:
        print(num)

运行后会输出所有奇数:91、103、3、4945

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:40:22