我必须制作一个二维列表来跟踪我正在制作的棋盘游戏中的矩形。
我已经完成了电路板的功能,并且我被告知为第二个列表编写以下内容以保存参考:
rect = [[None for i in range(n+1)] for j in range(n+1)]
rect[i][j] = canvas.create_rectangle(i*height/n,j*width/n,(i+1)*height/n,(j+1)*width/n,width=1,fill='red',outline='green')
有人能告诉我如何保存矩形的索引吗?当我print rect
时,什么都没有出现?
答案 0 :(得分:0)
请注意,在列表推导中,您只需创建一个完整的None
嵌套列表,然后为i
和j
之后的最后一个值创建一个矩形列表理解。
相反,您应该将对create_rectangle
的调用置于列表理解中:
rect = [[canvas.create_rectangle(i * height / n, j * width / n,
(i+1) * height / n, (j+1) * width / n,
width=1, fill='red', outline='green')
for i in range(n+1)] for j in range(n+1)]
这样,rect
应包含多个矩形的ID,然后您可以使用这些ID修改这些矩形,例如:改变颜色。