为什么我不能在数组中增加一个单元格?

2024-06-07 18:32:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从事的一个项目需要我确定一个等级所属的范围,在数组中增加一个特定的单元格,然后使用该数组以纯文本的形式向用户打印直方图。当前,每当我的代码到达必须增加数组中某个单元格值的点时,我就会收到错误:

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

还有这里


Tags: or代码inindex错误数组floatsentinel

热门问题