помогите ,правильно вроде все введенно но ошибку выдает ошибку в 14 строке и программа не запусквется
from turtle import *
def move_right():
setheading(0)
fd(10)
def move_left():
setheading(180)
fd(10)
def move_up():
setheading(90)
fd(10)
def move_down():
setheading(270)
fd(10)
bgpic("labirynt.png")
shape('turtle')
color('red') hideturtle()
speed(0)
goto(10,0)
showturtle() speed(1)
sethiading(90)
onkey(move_right,"Right") onkey(move_left,"Left")
onkey(move_up,"Up") onkey(move_down,"Down")
listen()
что не так? в задании просят....вот так фото)
Answers & Comments
Ответ:
Проблема в том, что в 10-й строке вы забыли добавить точку с запятой в конце команды color('red') hideturtle(), что приводит к синтаксической ошибке в следующей строке.
Вот исправленный код:
from turtle import *
def move_right():
setheading(0)
fd(10)
def move_left():
setheading(180)
fd(10)
def move_up():
setheading(90)
fd(10)
def move_down():
setheading(270)
fd(10)
bgpic("labirynt.png")
shape('turtle')
color('red')
hideturtle()
speed(0)
goto(10,0)
showturtle()
speed(1)
setheading(90)
onkey(move_right,"Right")
onkey(move_left,"Left")
onkey(move_up,"Up")
onkey(move_down,"Down")
listen()
mainloop()
Объяснение:
В строке 11 вы неправильно написали "sethiading" вместо "setheading". Кроме того, вы можете пропустить некоторые строки для улучшения читаемости кода. Вот исправленный код:
from turtle import *
def move_right():
setheading(0)
fd(10)
def move_left():
setheading(180)
fd(10)
def move_up():
setheading(90)
fd(10)
def move_down():
setheading(270)
fd(10)
bgpic("labirynt.png")
shape('turtle')
color('red')
hideturtle()
speed(0)
goto(10,0)
showturtle()
speed(1)
setheading(90)
onkey(move_right,"Right")
onkey(move_left,"Left")
onkey(move_up,"Up")
onkey(move_down,"Down")
listen()
mainloop()
В этом исправленном коде функции-обработчики событий нажатия клавиш располагаются на отдельных строках для улучшения читаемости. Кроме того, добавлен вызов mainloop() в конце кода, чтобы программа могла ожидать и обрабатывать события пользовательского ввода.