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

Python嵌套列表奇数计数作业遇阻:按要求实现代码报错求助

问题分析与解决

你的代码报错核心原因:外层循环的变量x是嵌套列表中的子列表(比如[12,7,23,32]),而非单个数字,自然无法用取模运算符%和整数做运算。

按照讲师要求的「嵌套for循环+取模运算符」,正确的实现逻辑需要两层循环:

  1. 第一层循环:遍历嵌套列表中的每一个子列表
  2. 第二层循环:遍历每个子列表中的数字元素,逐一判断是否为奇数并计数

修正后的完整代码

m = [[12, 7, 23, 32], [18, 9, 6, 30], [4, 21, 98, 72], [62, 38, 15, 2]]
     
oddCount = 0

# 外层循环:遍历所有子列表
for sublist in m:
    # 内层循环:遍历子列表中的每个数字
    for num in sublist:
        # 取模运算判断奇数:除以2余数不为0则为奇数
        if num % 2 != 0:
            oddCount += 1

# 输出统计结果
print(f"奇数的数量为:{oddCount}")

代码说明

  • 外层循环for sublist in m:每次迭代时,sublist会依次取到m中的每个子列表(比如第一次是[12,7,23,32])
  • 内层循环for num in sublist:遍历当前子列表中的每一个数字,num就是单个的整数元素
  • num % 2 != 0:取模运算的作用是获取除法的余数,奇数除以2的余数永远是1,因此用这个条件判断奇数
  • 每找到一个奇数,就给oddCount加1,最终统计所有子列表中的奇数总数

运行这段代码会输出奇数的数量为:5,对应原列表中的奇数:7、23、9、21、15。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:35:28