我正在为CodeGolf.SE contest编写代码而我遇到了一些我不理解的东西。代码不是最好的(例如我通常不会使用while 1
),但问题仍然是相同的:
import time
from turtle import *
ht()
tracer(3)
while 1:
clear() #1
color("snow") #
a=time.strftime("#%H%M%S") #
bgcolor(a) #2
write(a,0,"center") #3
来自the documentation似乎tracer(3)
表示每个第三个屏幕更新都已绘制。我认为这不起作用,因为当我运行它时,我没有得到清晰的文本(看起来它在可见/不可见之间切换得非常快)。
我尝试使用不同的跟踪器参数但没有成功。我知道一个解决方案是在需要时拨打tracer(0)
和update()
,但我希望它能在没有update()
的情况下工作。
以下确实解决了它,只是为了表明我的意思。据我所知,tracer(n)应该在每个第n步传播更改,而且似乎没有这样做:
import time
from turtle import*
tracer(0) #turn of auto-update
while 1:
reset()
ht()
color("snow")
a=time.strftime("#%H%M%S")
write(a,0,"center")
bgcolor(a)
update() #8 propagate changes