数独中的获胜者检查器

Winner checker in Sudoku

提问人:Sameer Farooq 提问时间:7/30/2023 最后编辑:Peter MortensenSameer Farooq 更新时间:7/30/2023 访问量:43

问:

我目前正在 Tkinter 中从事我自己的数独项目。我设法制作了一个带有标签和条目值的网格。我正在开发一个提交按钮,用于检查玩家是否获胜。我需要程序遍历所有数字,并将每个数字与其行、列和网格进行比较。

global grid_entries
grid_entries = []
for i in range(9):
    row_entries = []
    for j in range(9):
        cell_value = puzzle[i][j]
        x = j * 40 + 20 + (j // 3) * 5
        y = i * 40 + 20 + (i // 3) * 5
        if cell_value == '':
            entry = Entry(canvas, font=("Calibri", 20), width=2, justify='center', fg='Blue', bd=2, bg='white', relief='ridge')
            entry.grid(row=i, column=j)
            canvas.create_window(x, y, window=entry)
        else:
            label = Label(canvas, text=cell_value, fg='black', font=('Calbri', 20), bd = 2, bg = 'white', relief='ridge', width=2)
            label.grid(row=i, column=j)
            canvas.create_window(x, y, window=label)
        row_entries.append(entry if cell_value == '' else label)
    grid_entries.append(row_entries)

这是我为数独模式创建标签和输入框的循环,并存储已添加的任何输入值。我不知道如何循环数字并进行比较。

我写了这篇文章,看看我是否可以得到每个单独的值。

def submit_action():
    for row in grid_entries:
        for cell in row:
            if isinstance(cell, Entry):
                print(cell.get('text'), end=' ')
            elif isinstance(cell, Label):
                print(cell.cget('text'), end=' ')
            else:
                print('Empty', end=' ')

它没有用。

python loops tkinter 标签 数独

评论

0赞 pudup 7/30/2023
为什么不创建一个函数来检查一个数字是否在给定位置工作呢?然后运行一个循环,对 2d 列表中的每个数字执行该函数。

答: 暂无答案