CodeAcademy - Python - 学生变老师 8/9 - 整体的一部分

3 投票
1 回答
19172 浏览
提问于 2025-04-18 06:31

我想很多人都知道CodeAcademy的Python课程。正如标题所说,我现在需要计算班级的平均分。以下是我写的代码:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
        return average(results)

我遇到的错误是“哎呀,再试一次。get_class_average([alice, lloyd]) 返回了91.15,而不是预期的85.85”。我已经找了5个小时都没找到错误,所以请帮我看看代码哪里出了问题。

1 个回答

7

你的return语句缩进不对。现在它是在循环的第一次执行后就返回了。下面是正确的缩进方式:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
    return average(results)

你还可以用列表推导式来简化你的代码:

def get_class_average(students):
    return average(get_average(student) for student in students)

撰写回答