0

私は Code Academy からこの問題に取り組んでおり、コードで実行したいことは、各生徒のテスト、クイズ、宿題の平均を個別に返すことです。

これは、現在のコード用に持っているものです。

このエラーメッセージは「無効な構文」などです。

lloyd = {
    "name": "Lloyd",
    "homework": [90.0, 97.0, 75.0, 92.0],
    "quizzes": [88.0, 40.0, 94.0],
    "tests": [75.0, 90.0]
}
alice = {
    "name": "Alice",
    "homework": [100.0, 92.0, 98.0, 100.0],
    "quizzes": [82.0, 83.0, 91.0],
    "tests": [89.0, 97.0]
}
tyler = {
    "name": "Tyler",
    "homework": [0.0, 87.0, 75.0, 22.0],
    "quizzes": [0.0, 75.0, 78.0],
    "tests": [100.0, 100.0]

def average(some):
    return sum(some)/len(some)

students = [lloyd, alice, tyler]
def get_class_average(students):
    for student in students:
         total += get_average(student)
    return float(total) / len(students)
4

4 に答える 4

2

リストではなく、辞書を使用して呼び出していますget_average()(ここで意味していると思います)。average()だからsum()それで動作しません。実際の宿題、クイズ、またはテストのリストを取得するには、 を実行する必要がありますtotal += get_average(student['homework'])

}タイラー辞書の後にa もありません。これにより、Python はdef averageビットが辞書の一部であると認識しますが、そうではないため、エラーが発生します。

于 2013-09-28T03:12:13.860 に答える
1

の前にカーリーを逃したようです

def average...

そのはず

tyler = {
    "name": "Tyler",
    "homework": [0.0, 87.0, 75.0, 22.0],
    "quizzes": [0.0, 75.0, 78.0],
    "tests": [100.0, 100.0]
}
def average ...

また、get_average_classあなたは何であるかを言いませんget_average。私はそれaverageがあなたが省略したことを使用するものだと思いますが、平均よりも問題がある場合.

于 2013-09-28T03:11:44.030 に答える
0

average関数の前に中かっこを閉じるのを忘れました。

于 2013-09-28T03:52:51.033 に答える
0
lloyd = {
    "name": "Lloyd",
    "homework": [90.0, 97.0, 75.0, 92.0],
    "quizzes": [88.0, 40.0, 94.0],
    "tests": [75.0, 90.0]
}
alice = {
    "name": "Alice",
    "homework": [100.0, 92.0, 98.0, 100.0],
    "quizzes": [82.0, 83.0, 91.0],
    "tests": [89.0, 97.0]
}
tyler = {
    "name": "Tyler",
    "homework": [0.0, 87.0, 75.0, 22.0],
    "quizzes": [0.0, 75.0, 78.0],
    "tests": [100.0, 100.0]
}
def average(some):
    return sum(some)/len(some)

students = [lloyd, alice, tyler]
def get_class_average(students):
    for student in students:
         total += get_average(student)
    return float(total) / len(students)
于 2013-09-28T03:45:08.663 に答える