Рассмотрим удаление элементов на холсте.
              Для удаления будем использовать метод delete():
from tkinter import *
from random import randrange as rnd
root = Tk()
root.geometry('600x600+1+1')
canv = Canvas(bg='white')
canv.pack(fill=BOTH,expand=1)
def click(event):
        canv.delete(ALL)
        r = 40
        x = event.x
        y = event.y
        canv.create_oval(x-r,y-r,x+r,y+r,fill='orange')
        
canv.bind('<1>',click)
mainloop()
              canv.delete(ALL) удаляет все объекты на холсте. Если нужно удалить не все, а только часть, то есть два пути: удалять по имени и удалять по тегу (метке)
              Удаление по имени позволит удалить только один объект. А удаление по метке — сколько угодно, в том числе и один. Т.е. удаление по тегу (метке) удобнее. Удаление по имени мы рассмотрим позже, когда начнем работать с классами (ООП). А сейчас удаление по тегу:
from tkinter import *
from random import randrange as rnd
root = Tk()
root.geometry('600x600+1+1')
canv = Canvas(bg='white')
canv.pack(fill=BOTH,expand=1)
canv.create_line(0,0,500,500)
def click(event):
        canv.delete('circle')
        r = 40
        x = event.x
        y = event.y
        canv.create_oval(x-r,y-r,x+r,y+r,fill='orange',tag='circle')
        
canv.bind('<1>',click)
mainloop()
              Сейчас мы увидели, что удаление по тегу удалило один объект.
              Попробуйте изменить программу так:
from tkinter import *
from random import randrange as rnd
root = Tk()
root.geometry('600x600+1+1')
canv = Canvas(bg='white')
canv.pack(fill=BOTH,expand=1)
canv.create_line(0,0,500,500)
def click(event):
        canv.delete('chupakabra')
        r = 40
        x = event.x
        y = event.y
        canv.create_oval(x-r,y-r,x+r,y+r,fill='orange',tag='circle')
        
canv.bind('<1>',click)
mainloop()
              Запустите программу и обратите внимание на то, что никакая ошибка не возникла, программа работает корректно, несмотря на то, что такой метки нет и никакие окружности не удалены. Но программа продолжает работать.
              Удаление по имени, которого не существует, в отличие от этой ситуации, вызовет падение программы.
              На это мы посмотрим чуть позже, а теперь удалим группу объектов по тегу:
              (правая кнопка мыши удаляет красные круги, а левая — рисует 100 случайных кругов)
from tkinter import *
from random import randrange as rnd, choice
root = Tk()
root.geometry('600x600+100+100')
canv = Canvas(bg='white')
canv.pack(fill=BOTH,expand=1)
canv.create_line(0,0,500,500)
def click(event):
        canv.delete('red')
def draw(event):
        r = 7
        for i in range(100):
                color = choice(['red','blue','green','yellow'])
                x = rnd(100,500)
                y = rnd(100,500)
                canv.create_oval(x-r,y-r,x+r,y+r,fill=color,tag=color)
        
canv.bind('<1>',click)
canv.bind('<3>',draw)
mainloop()
              Рассмотрим два примера.
Мышь перетаскивает шарик:
from tkinter import *
from random import randrange as rnd, choice
root = Tk()
root.geometry('600x600+100+100')
canv = Canvas(bg='white')
canv.pack(fill=BOTH,expand=1)
canv.create_line(0,0,500,500)
        
def move(event):
        canv.delete('ff')
        r = 70
        x = event.x
        y = event.y
        canv.create_oval(x-r,y-r,x+r,y+r,fill='orange', tag = 'ff')
        
canv.bind('<Motion>',move)
mainloop()
              Заданий не будет. Редко, но так бывает.