Я не могу понять, что должен делать ваш код. От заголовка, нажав на точку должна завершить программу. Из текста нажатие на точку должно отключить обработчик события onscreenclick()
, но у вас не будет видимого способа проверить, произошло это или нет.
Предполагая, что окончание программы было целью, вот как мы могли бы переработать вашу программу для этого:
from turtle import *
def m(x, y):
if -5 <= x <= 5 and -5 <= y <= 5:
bye() # exit from mainloop()
hideturtle()
penup()
dot(10) # use dot (diameter) instead of circle (radius) as it's centered
goto(100, 100) # get the turtle away from center
onscreenclick(m)
mainloop()
Однако, если это ваша цель, мы можем упростить код, сделав точку самой черепахой и установив событие onclick()
на черепахе вместо экрана:
from turtle import *
def m(x, y):
bye() # exit from mainloop()
shape('circle')
shapesize(0.5)
onclick(m)
mainloop()
Если я полностью пропустил суть вашего вопроса, измените его, чтобы уточнить поведение и цели вашей программы.