我可以为循环中的for循环生成的图像分配变量吗?

时间:2018-11-09 02:57:40

标签: python for-loop tkinter tkinter-canvas photoimage

我正在创建一个中国跳棋AI项目,并使用for循环创建了跳棋。我想问的是,是否可以通过for循环为用create_image创建的每个检查器分配一个变量? 我使用以下代码:

black = []
black = PhotoImage(file="black.gif")
black_sub = black.subsample(8, 8)
for i in range(4):
    black_id.append(i)

    canvas.create_image(425 + 24 * i,800 - 10 - 45 * i, anchor=S, 
    image=black_sub)

for i in range(4):

    black_id.append(i+4)

    canvas.create_image(425 - 24 * i,800 - 10 - 45 * i, anchor=S, 
    image=black_sub)

我可以为每个列表号分配相应的检查器吗?

1 个答案:

答案 0 :(得分:0)

很难根据给定的信息来定义您的问题,但是您不必获取ID,因为它将是您的检查者列表的索引,因此您可以轻松地获取任何具有其ID的检查者索引如下:

black = PhotoImage(file="black.gif")
black_sub = black.subsample(8, 8)
checkers = []

for i in range(4):
    checkers.append( 
                    canvas.create_image(425 + 24 * i,800 - 10 - 45 * i, anchor=S, 
                    image=black_sub) 
                    )

for i in range(4):
    checkers.append( 
                    canvas.create_image(425 - 24 * i,800 - 10 - 45 * i, anchor=S, 
                    image=black_sub) 
                    )

checkers[5].move(10,10) # get some of the checker based on its ID