如何解决我的代码出现以下错误?
void function()
{
long long number = 0;
long long problemSize = 100;
long long res = 0;
for( long long i = 0; i < problemSize; ++i )
{
number++;
res += number;
number--;
}
cout << res << endl;
}
这是有问题的代码:
Traceback (most recent call last):
File "main.py", line 143, in <module>
print(question_list2[random_int])
IndexError: list index out of range
答案 0 :(得分:2)
random.randint(a,b)
返回一个随机整数N,使得a <= N <= b
这意味着:
top_index = 4
random_int = random.randint(0,top_index)
可以将random_int
设置为3
或4
,这不在您的列表范围之内,列表中只有三个项的索引为0
,{{1} }和1
。
与其更改列表和使用索引,不如创建一个索引列表,对其进行随机排序,然后对其进行遍历:
2
如果将问题和答案一起保留在一个列表中,则可以完全取消索引。这将是named tuples
的好用法indexes = random.sample(range(0, len(question_list)), k = len(question_list))
for i in indexes:
# etc...
答案 1 :(得分:0)
我相信您的清单上只有三件事。范围应为range(0,3),也许您的top_index应该为top_index = 2。
由于列表上的索引为[0,1,2]
列表中的第一项>索引= 0
列表中的第二项>索引= 1
列表中的第三项>索引= 2