我正在从事的一个项目需要我确定一个等级所属的范围,在数组中增加一个特定的单元格,然后使用该数组以纯文本的形式向用户打印直方图。当前,每当我的代码到达必须增加数组中某个单元格值的点时,我就会收到错误:
Traceback (most recent call last):
addGrade(gradeInput)
line 13, in addGrade
arrayOfGrades[index]=arrayOfGrades[index]+1
TypeError: 'set' object does not support indexing
我很确定它也会出现在我尝试使用数组的其他地方。这是相关代码
gradeInput=0
arrayOfGrades={0,0,0,0,0,0,0,0,0,0,0}
i=10
def addGrade(Grade):
global arrayOfGrades
index=int(Grade/10)
arrayOfGrades[index]=arrayOfGrades[index]+1
就在那里,我应该看到细胞的增加,但是我得到了错误
while gradeInput!=SENTINEL:
gradeInput=float(input('Please enter your grade, or enter -1 to stop.'))
while gradeInput >100 or gradeInput <SENTINEL or (gradeInput>SENTINEL and gradeInput<0):
gradeInput=float(input('Invalid grade. Please enter a number between 0-100 '
'for your grade, or enter -1 to quit.'))
if gradeInput==SENTINEL:
print("All grades entered.")
else:
addGrade(gradeInput)
我希望它也发生在代码段的底部
for x in range(10):
printGradeCount(i,arrayOfGrades[i])
i=i-1
还有这里
{…}创建一个集合数据结构,它不能被索引。您似乎想要的是一个使用[…]语法的列表
尝试将其更改为:
相关问题 更多 >
编程相关推荐