私はPythonの初心者です。ここでいくつかの基本的な質問が出るかもしれません。誰かが助けてくれますか?TypeError:文字列インデックスは、strではなく整数でなければならない。
私は各生徒の平均を求め、その平均の平均を計算します。 Get "TypeError:文字列インデックスは、strではなく整数でなければなりません"。それが何を参照し、どのように修正するかを理解できません。ここに私のコードです:
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(numbers):
total = sum(numbers)
total = float(total)
return total/len(numbers)
def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return 0.1*homework + 0.3*quizzes + 0.6*tests
def get_class_average(students):
results = []
for student in students:
result = get_average(student)
results.append(result)
return average(results)
students = ["lloyd", "alice", "tyler"]
print get_class_average(students)
トレースバックを読んだことがありますか。 – jonrsharpe
はい、私はそれを読むが、それは多くの行を列挙している。問題の原因となった行が常にわからない。 –
あなたがそれを完全に理解していなくても、少なくともそれを含めることができます。そしてそれを解釈するのを助けるために:原則として、エラーの前に*最後の行が呼び出された下から始めます。 – jonrsharpe