Хотя вашей непосредственной проблемой является отсутствие оператора global y
в вашей функции enter()
, в вашем коде много шума , который мы должны устранить, чтобы сделать его лучше MVCE:
import random # not used so leave out of SO question example
r = int(60) # ditto
x = int(-950) # int() not needed for ints
y = int(200) # ditto
wn.onkey(lambda: enter(), "Return") # lambda not needed
Хотя мы могли бы исправить это с добавлением оператора global y
, я предпочитаю просто опросить саму черепаху и избежать глобального:
from turtle import Turtle, Screen
def enter():
ad.sety(ad.ycor() - 100)
X, Y = -950, 200
wn = Screen()
wn.setup(1000, 1000) # visible field
wn.screensize(2000, 2000) # total field
ad = Turtle("circle")
ad.speed("fastest")
ad.penup()
ad.goto(X, Y)
wn.onkey(enter, "Return")
wn.listen()
wn.mainloop()
Обратите внимание, вы поместили черепаху за пределы видимой части экрана, поэтому вам нужно прокрутить ее до левой стороны окна, чтобы увидеть курсор черепахи.Как только вы это сделаете, вы можете переместить его вниз, нажав «Return».