Щелчок на экране черепахи не работает с циклом while - PullRequest
0 голосов
/ 24 апреля 2019

Когда я запускаю программу, она начинает печатать 0. Когда я щелкаю по экрану черепахи, он переходит в не отвечающий режим.

Я уже пытался вставить while True в функцию.Я также попытался поставить onscreenclick после цикла.

from turtle import*
v=0
def g(x,y):
    global v
    v=v+5
onscreenclick(g)
while True:
    print(v)

Я ожидал, что он начнет печатать 5 после первого щелчка, 10 после второго, но черепаха переходит в не отвечающий режим, пока печать продолжается.

1 Ответ

0 голосов
/ 24 апреля 2019

Вся эта программа неверна в черепахах.Но я сохраню эту лекцию и просто скажу, что не используйте while True: в мире, основанном на событиях, таком как черепаха.Вместо этого используйте событие ontimer:

from turtle import *

v = 0

def g(x, y):
    global v
    v += 5

onscreenclick(g)

def repeat():
    print(v)
    ontimer(repeat, 100)

repeat()

mainloop()
...