为3x3数组中的元素赋值

2024-04-29 05:01:45 发布

您现在位置:Python中文网/ 问答频道 /正文

colors = [['#01002b' '#01012b' '#01022b']
         ['#11032b' '#11042b' '#11052b']
         ['#21062b' '#21072b' '#21082b']]

我做了数独解算器,现在想用tkinter做GUI。所以每个3x3元素都必须有不同的颜色。整个电路板是9x9,为了更好地解释,它应该是这样的

[0,0,0,1,1,1,2,2,2],
[0,0,0,1,1,1,2,2,2],
[0,0,0,1,1,1,2,2,2],
[3,3,3,4,4,4,5,5,5],
[3,3,3,4,4,4,5,5,5],
[3,3,3,4,4,4,5,5,5],
[6,6,6,7,7,7,8,8,8],
[6,6,6,7,7,7,8,8,8],
[6,6,6,7,7,7,8,8,8]

其中每个数字代表不同的颜色

我试过了

for i in range(81):
    tkinter.Label(
        text=grid[i//9][i%9],
        bg=colors[i//27][i//27],
        fg="orange",
        font=("Courier", 44)
        ).grid(row=i//9, column=i%9)

和其他变化,但我遗漏了一些东西

所以如果我尝试bg=colors[I//27][I//27],我会得到这样的结果

enter image description here

正如您所见,每个9x3都有不同的颜色,只使用了3种颜色。我想要3x3和列表中的所有9种颜色


Tags: in元素for颜色tkinterrangegui代表