Напиши программу на Python которое создает клетчат...
Created on: July 12, 2025
Created on: July 12, 2025
Напиши программу на Python которое создает клетчатое поле 30 на 30, причем так что на каждую клетку можно нажать и оно сменит цвет. Необходимо чтобы у клеток было минимум 3 цвета.
Вот минимальный пример на Tkinter.
Запустите скрипт — появится окно с полем 30 × 30. Каждый клик по клетке переключает её цвет по кругу (белый → красный → синий → зелёный → снова белый).
pythonimport tkinter as tk ROWS = COLS = 30 # размеры поля CELL = 20 # размер клетки в пикселях COLORS = ["white", "red", "blue", "green"] # минимум 3 цвета def main(): root = tk.Tk() root.title("Клетчатое поле 30×30") canvas = tk.Canvas(root, width=COLS * CELL, height=ROWS * CELL, highlightthickness=0) canvas.pack() # словарь «id прямоугольника → индекс текущего цвета» color_idx = {} # рисуем сетку и заполняем словарь начальными цветами for r in range(ROWS): for c in range(COLS): x0 = c * CELL y0 = r * CELL x1 = x0 + CELL y1 = y0 + CELL rect_id = canvas.create_rectangle( x0, y0, x1, y1, fill=COLORS[0], outline="gray70") color_idx[rect_id] = 0 def on_click(event): # узнаём, по какому объекту кликнули items = canvas.find_withtag("current") if not items: return rect = items[0] # вычисляем следующий цвет idx = (color_idx[rect] + 1) % len(COLORS) color_idx[rect] = idx canvas.itemconfig(rect, fill=COLORS[idx]) canvas.bind("<Button-1>", on_click) root.mainloop() if __name__ == "__main__": main()
Как работает:
Canvas
нужного размера."current"
), находим следующий цвет из списка COLORS
и обновляем заливку.При желании можно:
COLORS
, чтобы добавить/убрать оттенки;CELL
) или поля (ROWS
, COLS
);