2015-11-02 63 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[]繼續

相關問題