i=0
for z in range(players):
for y in range(0,7):
hand[i]
i=i+1
IndexError:列表索引超出範圍 (手中[i]部分) 爲什麼?我爲什麼會遇到超出範圍的錯誤?
i=0
for z in range(players):
for y in range(0,7):
hand[i]
i=i+1
IndexError:列表索引超出範圍 (手中[i]部分) 爲什麼?我爲什麼會遇到超出範圍的錯誤?
因爲在索引「i」的列表「手」中沒有元素。
https://docs.python.org/2/library/exceptions.html#exceptions.IndexError
我懷疑的原因是第一次你的循環運行的i
值從0到6(注意範圍產生數最多,但不包括「停止」值) 。
但是,如果players
大於1,則第二次循環運行的i
值不會被重置,所以從7到13值,我猜你沒想到的hand[]
繼續
這裏沒有足夠的細節來真正分析它,但一個觀察是你的內循環正在執行nplayers * 7次。所以'手'必須至少是那麼大,而且顯然不是。 –
你的代碼片段不足以繼續。例如,您不會告訴我們「手」的數量,因此我們無法知道它爲什麼會超出範圍。然而,基本的猜測是'手'的範圍是0-7,是嗎?但是你正在遍歷'y',然後再次對每個'z'進行操作。所以你正在迭代z * y,這是你給'hand'範圍的數字。可能太大了。 – Tim
因爲'i'大於或等於'hand'的長度。 Python從零開始計算,但是您的帖子中目前沒有足夠的信息來了解您正在處理的內容。 – BlivetWidget