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

如何修复统计三门考试达标成绩总次数的Python代码

问题分析与修复方案

你的版本1代码存在两个关键问题,导致结果不符合预期:

  1. 逻辑判断错误:版本1使用and逻辑运算符,只有当同一学生三门考试成绩都≥75时才会给count加1,这统计的是「三门全达标学生的数量」,而非「所有达标次数的总和」。
  2. 变量名拼写错误:定义的数组是technolog,但判断时写成了technology,这会导致运行时抛出NameError(你给出的输出为1,应该是编写时的笔误)。

修复后的版本1代码

literacy = [42,72,80,82,76]
numeracy = [55,70,75,79,48]
technolog = [77,64,55,82,52]

count = 0

for counter in range(len(literacy)):
    if literacy[counter] >= 75:
        count += 1
    if numeracy[counter] >= 75:
        count += 1
    if technolog[counter] >= 75:
        count += 1

print(count)

更简洁的实现方式

也可以直接统计每门课的达标人数再求和,避免循环嵌套:

literacy = [42,72,80,82,76]
numeracy = [55,70,75,79,48]
technolog = [77,64,55,82,52]

count = sum(1 for x in literacy if x >=75) + sum(1 for x in numeracy if x >=75) + sum(1 for x in technolog if x >=75)

print(count)

修复说明

  • 把原有的单个and判断拆成三个独立的if判断,每满足一门课的达标条件就给count加1,实现累计所有达标次数的需求。
  • 修正变量名拼写错误,确保数组名称前后一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:35:18