Поскольку вы специально пометили [черепаха-графика], вот подход, использующий механизм таймера черепахи. Метод write()
постоянно печатает текущее значение variable
в центре экрана. Когда вы нажимаете клавишу со стрелкой вверх, происходит другое синхронизированное событие, которое меняет variable
на другое значение в течение трех секунд, после чего оно восстанавливает свое первоначальное значение. Метод write()
ничего об этом не знает, он просто отображает значение current :
from turtle import Screen, Turtle
from random import randint
FONT = ('Arial', 28, 'normal')
def up():
global variable
screen.onkey(None, "Up") # disable handler inside handler
screen.ontimer(lambda o=variable: reset_variable(o), 3000) # in milliseconds
variable = randint(1, 1000)
def reset_variable(original_value):
global variable
variable = original_value
screen.onkey(up, "Up") # restore event handler
def write():
turtle.undo()
turtle.write("variable = {}".format(variable), align='center', font=FONT)
screen.ontimer(write, 250)
variable = randint(1, 1000)
screen = Screen()
turtle = Turtle(visible=False)
turtle.write("variable = {}".format(variable), align='center', font=FONT)
screen.onkey(up, "Up")
screen.listen()
write()
screen.mainloop()