文件「C:\ Users \ Tom \ Desktop \ Tetris!\ tetris.py」,行206,typeSet Globals.blockArray [i] .x.append(7) IndexError:列表索引超出範圍列表索引超出範圍 - python數組錯誤
我得到的排版
四號線上面的錯誤在初始化:
def main():
initialize()
def initialize():
Globals.running = True
addBlock()
class Globals:
running = True
blockArray = []
blockNum = 0
再後來就:
def addBlock():
Globals.blockArray.append(block())
class block:
def __init__(self):
self.id = Globals.blockNum
Globals.blockNum += 1
self.x = []
self.y = []
self.landed = False
self.blockType = 1#random.randint(1,6)
self.typeSet()
def typeSet(self):
i = self.id
if self.blockType == 1:
#square(i)
Globals.blockArray[i].x.append(7)
Globals.blockArray[i].y.append(0)
Globals.blockArray[i].x.append(7)
Globals.blockArray[i].y.append(1)
Globals.blockArray[i].x.append(8)
Globals.blockArray[i].y.append(0)
Globals.blockArray[i].x.append(8)
Globals.blockArray[i].y.append(1)
編輯:添加更多的代碼,並切換這麼ID應該在0錯誤代碼開始並沒有改變
似乎非常清楚:任何'Globals.blockArray' 。是,它並沒有'i'成員 – 2012-02-14 22:13:14
這似乎無法在它的第一次通過,雖然在初始化:blockArray = [],然後的blocknum = 0 再後來就 高清addBlock(): 全局.blockArray.append(block()) – 2012-02-14 22:16:19
'i'從來沒有0,你首先將它增加到1.'blockArray [1]'不存在。 – 2012-02-14 22:18:22