fdgdfg

fdhgdf

sudo apt install knetwalk

dfghdgfc

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

column = 5                          # столбцы
row = 5                             # строки
btn = []                            # список кнопок
img = []
files = ['red.png', 'yellow.png', 'gold.png',
         'green.png', 'emerald.png', 'cyan.png',
         'blue.png', 'pink.png','azure.png',
         'bronze.png', 'purple.png', 'scarlet.png',
         'steel.png', 'silver.png']

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

tk = Tk()
imgBL = PhotoImage(file="blank.png")
for i in files:
    img += [PhotoImage(file=i)]

for i in range(row):
    f = Frame()
    f.pack(expand=YES, fill=BOTH)
    for j in range(column):
        btn += [Button(f, image=imgBL)]
        btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
        btn[-1].config(command=lambda n=i*column+j:play(n))

mainloop()

Лист. 1.

Рис. 2. Изображения сетевого оборудования в png формате.

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

column = 9                          # столбцы
row = 9                             # строки
btn = []                            # список кнопок
img = []
files = ['earth1.png', 'earth2.png', 'earth1.png', 'earth2.png',
         'earth3.png', 'earth4.png', 'earth5.png', 'earth6.png',
         'earth7.png', 'earth8.png', 'earth9.png', 'earth10.png',
         'earth11.png', 'earth12.png', 'earth13.png', 'earth14.png',
         'comp1.png', 'comp2.png', 'comp3.png', 'comp4.png',
         'corner1.png', 'corner2.png', 'corner3.png', 'corner4.png',
         'tee1.png', 'tee2.png', 'tee3.png', 'tee4.png',
         'line1.png', 'line2.png', 'line1.png', 'line2.png',
         'blank.png', 'blank.png', 'blank.png', 'blank.png']

def play(n):                        # функция на кнопку
    shuffle(img)
    btn[n].config(image = img[0])

tk = Tk()
for i in files:
    img += [PhotoImage(file=i)]

for i in range(row):
    f = Frame()
    f.pack(expand=YES, fill=BOTH)
    for j in range(column):
        btn += [Button(f, image=img[33])]
        btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
        btn[-1].config(command=lambda n=i*column+j:play(n))

mainloop()

Лист. 2.

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

column = 9                          # столбцы
row = 9                             # строки
btn = []                            # список кнопок
img = []
files = ['earth1.png', 'earth2.png', 'earth1.png', 'earth2.png',
         'earth3.png', 'earth4.png', 'earth5.png', 'earth6.png',
         'earth7.png', 'earth8.png', 'earth9.png', 'earth10.png',
         'earth11.png', 'earth12.png', 'earth13.png', 'earth14.png',
         'comp1.png', 'comp2.png', 'comp3.png', 'comp4.png',
         'corner1.png', 'corner2.png', 'corner3.png', 'corner4.png',
         'tee1.png', 'tee2.png', 'tee3.png', 'tee4.png',
         'line1.png', 'line2.png', 'line1.png', 'line2.png',
         'blank.png', 'blank.png', 'blank.png', 'blank.png']
playArea = [16,16,19,20,23,17,23,29,20,
            28,22,29,27,25,20,18,16,28,
            22,20,16,22,27,18,23,24,21,
            19,24,24,26,24,29,27,19,20,
            23,26,29,21,19,20,10,26,21,
            28,18,19,29,29,24,26,24,20,
            28,23,29,20,23,26,21,19,27,
            28,18,23,24,21,28,23,26,21,
            22,17,22,17,19,21,18,22,17,]

def play(n):                        # функция на кнопку
    btn[n].config(image = img[0])

tk = Tk()
for i in files:
    img += [PhotoImage(file=i)]

for i in range(row):
    f = Frame()
    f.pack(expand=YES, fill=BOTH)
    for j in range(column):
        btn += [Button(f, image=img[playArea[i*column+j]])]
        btn[-1].pack(expand=YES, fill=BOTH, side=LEFT)
        btn[-1].config(command=lambda n=i*column+j:play(n))

mainloop()

Лист. 3.

fghgfh