Ответы
import tkinter as tk
class App:
def __init__(self, master):
self.master = master
master.title("Подільність чисел")
# Створення кнопок
self.button_2 = tk.Button(master, text="2", command=lambda: self.filter_numbers(2))
self.button_3 = tk.Button(master, text="3", command=lambda: self.filter_numbers(3))
self.button_4 = tk.Button(master, text="4", command=lambda: self.filter_numbers(4))
self.button_5 = tk.Button(master, text="5", command=lambda: self.filter_numbers(5))
self.button_clear = tk.Button(master, text="Очистити", command=self.clear)
self.button_exit = tk.Button(master, text="Завершити", command=master.quit)
# Відображення кнопок на екранній формі
self.button_2.grid(row=0, column=0)
self.button_3.grid(row=0, column=1)
self.button_4.grid(row=0, column=2)
self.button_5.grid(row=0, column=3)
self.button_clear.grid(row=1, column=1)
self.button_exit.grid(row=1, column=2)
# Створення міток для відображення чисел
self.labels = []
for i in range(10):
label = tk.Label(master, text=str(i+1))
label.grid(row=2+(i//4), column=i%4)
self.labels.append(label)
def filter_numbers(self, divisor):
for i, label in enumerate(self.labels):
if (i+1) % divisor == 0:
label.config(text=str(i+1))
else:
label.config(text="")
def clear(self):
for label in self.labels:
label.config(text=str(label.grid_info()["row"]*4 + label.grid_info()["column"]+1))
root = tk.Tk()
app = App(root)
root.mainloop()