<p>这是因为你刚刚得到学生成绩的最后一个值</p>
<pre><code>for score in student_scores:
student_grades = student_scores
if student_scores[score] >= 91:
student_grades = student_scores[score]="Outstanding"
elif student_scores[score] >= 81:
student_grades = student_scores[score]="Exceeds Expectations"
elif student_scores[score] >= 71:
student_grades = student_scores[score]="Acceptable"
elif student_scores[score] <= 70:
student_grades = student_scores[score]="Failed"
print(student_grades)
</code></pre>
<p>您的<code>print(student_grades)</code>在for循环之外,因此只需获取存储在学生成绩上的最后一个值。我建议你做这样的改变</p>
<pre><code>student_scores = {
"Harry": 81,
"Ron": 78,
"Hermione": 99,
"Draco": 74,
"Neville": 62,
}
student_grades = student_scores
for name, score in student_scores.items():
# We dont need to assign student_grades each time
if student_scores[name] >= 91:
student_grades[name] = "Outstanding"
elif student_scores[name] >= 81:
student_grades[name] = "Exceeds Expectations"
elif student_scores[name] >= 71:
student_grades[name] = "Acceptable"
elif student_scores[name] <= 70:
student_grades[name] = "Failed"
for grades in student_grades.items():
print(grades)
</code></pre>