CodeAcademy - Python - 学生成为教师8/9 - 整体的一部分

Mar*_*sov 3 python

我假设你们很多人都熟悉CodeAcademy Python类.正如标题所说,我必须得到全班的平均分.这就是我所做的:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
        return average(results)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是"哎呀,再试一次.get_class_average([alice,lloyd])按预期返回91.15而不是85.85".我现在似乎无法找到我的错误5个小时,所以请看一看并告诉我代码有什么问题.

ssh*_*124 8

你的return陈述的缩进是错误的.目前,它在循环的第一次迭代后返回.这是适当的缩进:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
    return average(results)
Run Code Online (Sandbox Code Playgroud)

您还可以使用列表解析来简化代码:

def get_class_average(students):
    return average(get_average(student) for student in students)
Run Code Online (Sandbox Code Playgroud)