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

Python odd_finder函数统计正奇数数量时count累加器结果错误问题

代码错误原因

  • 遍历对象错误
    你写的for number in range(10)遍历的是0、1、2……9这10个固定整数,和你传入函数的10个参数完全无关。示例测试时你实际统计的是0-9范围内的奇数总数,共1、3、5、7、9五个,自然输出结果为5,和输入参数没有关联。你需要把传入的10个参数整合成可遍历的序列再进行遍历。
  • 运算符使用错误
  1. 你使用的&是位运算符,Python中表示逻辑“与”需要用and。位运算符优先级高于比较运算符,你写的number % 2 != 0 & number >= 0实际运算顺序完全不符合预期,逻辑判断完全失效。你后续把判断条件改为number>0后输出0,就是因为&优先级过高,实际运算后判断逻辑等效为(number%2 !=0) and (0>0),0>0永远不成立,所以计数一直是0。
  2. 正奇数的判断条件应为大于0且除以2余数不为0,你用>=0会将0纳入判断范围,0不是正数,不符合需求。
  • 返回值不符合要求
    需求明确要求函数返回计数结果,你原代码直接用print输出,调用函数时无法拿到统计结果,不符合要求。

修正后代码

def odd_finder(a,b,c,d,e,f,g,h,i,j):
    count = 0
    # 遍历所有传入的参数
    for number in [a,b,c,d,e,f,g,h,i,j]:
        # 用and做逻辑与判断,符合正奇数的要求
        if number > 0 and number % 2 != 0:
            count += 1
    # 返回计数结果
    return count

# 测试示例输入
print(odd_finder(1,2,3,4,5,-1,-2,-3,-4,0))
# 输出结果为3,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:15:03