2015-11-02 65 views
-1
i=0 
for z in range(players): 
    for y in range(0,7): 
     hand[i] 
     i=i+1 

IndexError:列表索引超出范围 (手中[i]部分) 为什么?我为什么会遇到超出范围的错误?

+0

这里没有足够的细节来真正分析它,但一个观察是你的内循环正在执行nplayers * 7次。所以'手'必须至少是那么大,而且显然不是。 –

+0

你的代码片段不足以继续。例如,您不会告诉我们“手”的数量,因此我们无法知道它为什么会超出范围。然而,基本的猜测是'手'的范围是0-7,是吗?但是你正在遍历'y',然后再次对每个'z'进行操作。所以你正在迭代z * y,这是你给'hand'范围的数字。可能太大了。 – Tim

+0

因为'i'大于或等于'hand'的长度。 Python从零开始计算,但是您的帖子中目前没有足够的信息来了解您正在处理的内容。 – BlivetWidget

回答

0

我怀疑的原因是第一次你的循环运行的i值从0到6(注意范围产生数最多,但不包括“停止”值) 。

但是,如果players大于1,则第二次循环运行的i值不会被重置,所以从7到13值,我猜你没想到的hand[]继续

相关问题