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

如何统计并输出所有DS测试得分均超50分的学生数量及姓名?

统计全部DS测试得分均超50分的学生

现有存储学生姓名与分数的列表和字典数据如下:

students = ['Sara', 'Zineb', 'Mohamed', 'Ali', 'Khadija',
            'Idriss', 'Najat', 'Nadia', 'Marouane', 'Ahmed']

scores = {'DS': [[36, 58, 46, 96, 9, 82, 83, 66, 35, 47],
                 [46, 50, 55, 21, 22, 76, 51, 90, 96, 48],
                 [56, 54, 53, 17, 31, 74, 11, 53, 98, 67],
                 [77, 38, 8, 74, 39, 39, 52, 66, 38, 86],
                 [93, 21, 7, 33, 10, 97, 48, 96, 24, 7],
                 [97, 98, 95, 75, 64, 9, 48, 51, 45, 82]],

          'TP': [[48, 63, 98, 47, 25, 90, 100, 21, 41, 44],
                 [73, 79, 78, 39, 11, 100, 57, 96, 13, 99]]}

需要编写Python代码,统计并输出所有在全部DS测试中得分均超过50分的学生数量及其姓名。


实现思路

  1. 提取scores['DS']中的所有测试数据,通过转置将每一列转换为对应学生的所有DS成绩(原DS的每个子列表是一次测试的所有学生得分,转置后每个子列表对应一个学生的所有DS测试得分)
  2. 遍历每个学生的成绩列表,判断是否所有分数都严格大于50
  3. 筛选出符合条件的学生,统计数量并输出结果

完整代码

# 提取DS模块的所有测试成绩
ds_tests = scores['DS']
# 转置测试成绩,得到每个学生的所有DS成绩列表
student_ds_scores = list(zip(*ds_tests))

# 筛选符合条件的学生
qualified_students = []
for name, scores_list in zip(students, student_ds_scores):
    # 验证该学生所有DS成绩是否均超过50分
    if all(score > 50 for score in scores_list):
        qualified_students.append(name)

# 输出统计结果
print(f"符合条件的学生数量:{len(qualified_students)}")
print("符合条件的学生姓名:", qualified_students)

运行结果

执行代码后会输出:

符合条件的学生数量:1
符合条件的学生姓名: ['Nadia']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:45:46