Напишите программу, в которой нужно будет пересчитать колл-во мячей в корзине с помощью фонаря-рентгена.
Через модуль tkinter в Python
Ответы
Відповідь:
from tkinter import *
class App:
def __init__(self, master):
self.master = master
self.master.title("Корзина з м'ячами")
# Створення віджету Canvas для відображення корзини та м'ячів
self.canvas = Canvas(self.master, width=400, height=400, bg="white")
self.canvas.pack()
# Створення корзини
self.basket = self.canvas.create_rectangle(50, 50, 350, 350, width=5, outline="brown")
# Додавання м'ячів до корзини
self.ball1 = self.canvas.create_oval(100, 100, 150, 150, fill="green")
self.ball2 = self.canvas.create_oval(200, 200, 250, 250, fill="red")
self.ball3 = self.canvas.create_oval(300, 300, 350, 350, fill="blue")
# Створення кнопки "Scan"
self.scan_button = Button(self.master, text="Scan", command=self.scan_basket)
self.scan_button.pack()
# Лейбл для виведення кількості м'ячів
self.count_label = Label(self.master, text="Кількість м'ячів: 0")
self.count_label.pack()
def scan_basket(self):
# Використання фонаря-рентгена для підрахунку м'ячів в корзині
balls = self.canvas.find_overlapping(50, 50, 350, 350)
count = 0
for ball in balls:
if ball in [self.ball1, self.ball2, self.ball3]:
count += 1
# Виведення кількості м'ячів у лейблі
self.count_label.config(text=f"Кількість м'ячів: {count}")
root = Tk()
app = App(root)
root.mainloop()