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

Python循环输出重复且平均值异常的问题排查与修复

问题原因
  • 重复输出:打印语句放在了内层遍历成绩的循环里,每个学生对应2个成绩,内层循环会执行2次,所以每个学生的信息会被重复打印2次。
  • 平均值计算错误:平均值的计算逻辑同样放在内层循环中,第一次循环时仅累加了单个成绩,此时除以2得到的是单个成绩的一半,并非两个成绩的真实平均值。
修复方法

把平均值计算和打印代码移到内层循环外部,确保所有成绩累加完成后再执行这两步操作:

修复后的代码:

students = ["erick", "rafael", "marcel", "junior"]
grades = [[1,2],[3,4],[5,6],[7,8]]

for index in range(len(grades)):
    summ = 0
    for grade in grades[index]:
        summ += grade
    # 所有成绩累加完成后计算平均值
    average = summ / len(grades[index])  # 用成绩列表的长度代替固定的2,适配不同数量的成绩
    print(students[index])
    print(average)

优化写法(更简洁)

可以用zip同时遍历学生和对应的成绩列表,再借助内置函数sum()直接求和,代码更简洁易读:

students = ["erick", "rafael", "marcel", "junior"]
grades = [[1,2],[3,4],[5,6],[7,8]]

for student, grade_list in zip(students, grades):
    average = sum(grade_list) / len(grade_list)
    print(student)
    print(average)
修复后的运行结果
erick
1.5
rafael
3.5
marcel
5.5
junior
7.5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:47:13