我写过这个函数:
timeoutID is the numerical ID of the timeout, which can be used later with window.clearTimeout()
其中getAll在类participantRepo中定义如下:
{{1}}
我的问题是我不明白我一直在犯的错误
答案 0 :(得分:0)
如果列表中至少没有pos+1
个元素,list[pos]
会尝试将note
分配给列表外的索引。您可以使用append()
方法将项目添加到列表中。
答案 1 :(得分:0)
如果此代码
scores[pos] = note
导致此错误:
Index error: list assignment index out of range
您可能会这样解释:
一种调试方法:
在列表赋值之前添加一个print语句,以显示'pos'的值。如果您知道列表索引的有效范围,这可以帮助您跟踪此错误发生的位置和原因。
答案 2 :(得分:0)
您的代码应按以下方式处理out of bound access
def replace(self, pos, note):
"""
Replace the score of the participant at the given position with a new score
Input: pos, note - integer
Output: the old score was replaced
"""
scores = self.repo.getAll()
if pos < len(scores):
scores[pos] = note
else: throw IndexError
return scores
`