Апп

Еер

from tkinter import *               # графическая библиотека
from random import shuffle          # перемешать список suffle(A)

column = 5                          # столбцы
row = 5                             # строки
btn = []                            # список кнопок

def play(n):                        # функция обработчик нажатия на кнопку
    btn[n].config(text = n)

for i in range(row):
    f = Frame()
    f.pack(expand=YES, fill=BOTH)
    for j in range(column):
        btn += [Button(f, font =("mono", 16, "bold"), width = 5, height=3)]
        btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
        btn[-1].config(text = " ", command=lambda n=i*column+j:play(n))

mainloop()

Рпмрр

from tkinter import *               # графическая библиотека
from random import shuffle          # перемешать список suffle(A)

column = 3                          # столбцы
row = 3                             # строки
btn = []                            # список кнопок
letter = ['Г', 'Д', 'Е', 'Е', 'С', 'Т', 'Ж', 'У', ' ']

def play(n):                        # функция обработчик нажатия на кнопку
    m = letter.index(' ')
    if (abs(m - n) + abs(n//3 - m//3)) == 1 or abs(m - n) == 3:
        letter[m], letter[n] = letter[n], letter[m]
        btn[m].config(text=letter[m])
        btn[n].config(text=' ')

for i in range(row):
    f = Frame()
    f.pack(expand=YES, fill=BOTH)
    for j in range(column):
        btn += [Button(f, font =("mono", 16, "bold"), width = 5, height=3)]
        btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
        btn[-1].config(text = letter[i*column+j], command=lambda n=i*column+j:play(n))

mainloop()

Ппт