<p>我想你需要在这里做出改变。首先是崩溃</p>
<pre><code>print (res = sum(StudentGrades[name]/len(StudentGrades[name]))
</code></pre>
<p>分为两行,并修复括号问题以获得</p>
<pre><code>res = sum(StudentGrades[name])/len(StudentGrades[name])
print(res)
</code></pre>
<p>您需要进行的第二个更改是将更新的学员从</p>
<pre><code>student = {'John': 10}
</code></pre>
<p>到</p>
<pre><code>student = {'John': [10]}
</code></pre>
<p>这样就可以反复查看他的分数</p>
<pre><code>StudentGrades = {
"Alcott": [5, 9, 7],
"Jerry": [3, 5, 2],
"David": [8, 9, 8, 9]
}
print("Students:")
for x, y in StudentGrades.items():
print(x, y)
while True:
print("Select a student: ")
name = str(input())
if name in StudentGrades.keys():
print("You have chosen: " + name)
res = sum(StudentGrades[name])/len(StudentGrades[name])
print(res)
else:
print('You chosen wrong!')
break
#Alcott's average
res = sum(StudentGrades["Alcott"]) / len(StudentGrades["Alcott"])
print("Alcott's average is:[5,9,7]/3 =" + str(res))
#Jerry's Average
res = sum(StudentGrades["Jerry"]) / len(StudentGrades["Jerry"])
limited_res = round(res,2)
print("Jerry's average is:[3,5,2]/3 =" + str(limited_res))
#David's Average
res = sum(StudentGrades["David"]) / len(StudentGrades["David"])
print("David's average is:[8,9,8,9]/4 =" + str(res))
student = {'John': [10]}
#use of update function
print("Original Dictionary:")
print(StudentGrades)
StudentGrades.update(student)
print("Dictionary after update:")
print (StudentGrades)
#John's Average (not working? int object is not iterable)
res = sum(StudentGrades["John"]) / len(StudentGrades["John"])
print("John's average is:[10]/1 =" + str(res))
</code></pre>