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

如何用Python函数对嵌套列表每个子列表求和计算学生总分

问题原因

你原有函数的错误在于:results_sheet是嵌套列表结构,遍历得到的每个元素是单个学生的20道题得分列表,无法直接和整数类型的累加变量相加,同时你没有为每个学生单独计算总分并存储为列表结构,自然无法得到预期的总分列表输出。

正确实现代码

版本1:常规循环写法(易理解)

def sum_score(results_sheet):
    total_scores = []
    # 遍历每个学生的得分列表
    for student_scores in results_sheet:
        # 调用sum函数计算单个学生的所有题目总分
        total_scores.append(sum(student_scores))
    return total_scores

版本2:列表推导式写法(简洁高效)

def sum_score(results_sheet):
    return [sum(scores) for scores in results_sheet]
调用示例
# 生成成绩表的代码记得先导入random模块
import random
results_sheet = []
num_of_questions = 20
num_students = 50

for student in range(num_students):
        scores = random.choices(list(range(0,6)),k=num_of_questions)
        results_sheet.append(scores)

# 调用函数得到总分列表
total_scores = sum_score(results_sheet)
# 打印前2名学生的总分
print(total_scores[:2])

运行后即可得到你预期的类似[47, 55]的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 01:39:01