首页 > 解决方案 > 龟屏点击不适用于while循环

问题描述

当我运行程序时,它开始打印 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,但是在继续打印时海龟会进入无响应模式。

标签: pythononclickturtle-graphics

解决方案


这整个程序是错误的乌龟明智的。但是,我会保留那个讲座,只是说不要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()

推荐阅读