我正在处理一个项目并收到一个我不知道如何纠正的类型错误。我正在寻求有关我所忽略的内容以及如何纠正此错误的帮助。
下面是创建错误的函数。我已经打印了我创建的字典和列表,以便你们都能看到数据是什么。在我看来,列表中的所有索引都是整数,这让我感到困惑。
def summarize_points(submissions):
print(submissions[0])
pointsPossible = []
groupWeight = []
userScore = []
for assignment in submissions:
if assignment['workflow_state'] == 'graded':
pointsPossible.append(int(assignment['assignment']
['points_possible']))
groupWeight.append(int(assignment['assignment']['group']
['group_weight']))
userScore.append(int(assignment['score']))
pass
pass
print('\n\n\n\nTest Data \n\n\n')
print('pointsPossible')
print(pointsPossible)
print('\ngroupWeight')
print(groupWeight)
print('\nuserScore')
print(userScore)
weightedTotalPoints = []
weightedUserScore = []
for assignment in submissions:
weightedtotalPointsAddition = int(pointsPossible[assignment]) * int(groupWeight[assignment])
weightedTotalPoints.append(weightedtotalPointsAddition)
weightedUserScoreAddition = int(userScore[assignment]) * int(groupWeight[assignment])
weightedUserScore.append(weightedUserScoreAddition)
currentGrade = sum(weightedUserScore) / sum(weightedTotalPoints)
currentGrade = round(currentGrade)
print(weightedtotalPoints)
print(weightedUserScore)
print(currentGrade)
下面是错误
File "path", line 97, in summarize_points
weightedtotalPointsAddition = int(pointsPossible[assignment]) *
int(groupWeight[assignment])
TypeError: list indices must be integers or slices, not dict
临摹微笑
相关分类