Неплохо. Ниже — пример, который делает две вещи: 1) рисует всю рамку прямоугольника (-150, -150) до (150, 150), 2) запрашивает координаты, проверяет, внутри ли они рамки строго по границам, и перемещает черепаху туда без рисования. Также добавлена базовая обработка ошибок ввода.
Что именно изменено и зачем:
- Добавлена отрисовка всей рамки: от (-150, -150) вдоль контуров до (150, 150).
- Затем запрашиваются координаты x и y у пользователя.
- Преобразование ввода в целое число и обработка возможной ошибки ввода.
- Условие проверки строго внутри рамки: -150 < x < 150 и -150 < y < 150.
- Если точка внутри рамки — черепаха перемещается туда без рисования (penup перед goto); иначе выводится сообщение.
- В конце снова ожидается кликом мыши для завершения программы.
Полностью исправленный код (адаптировано под общую среднюю школу; без указанных параметров предмет/класс):
from turtle import *
print('Я рисую внутри рамки: -150<x<150, -150<y<150')
Рисуем всю рамку
penup() goto(-150, -150) pendown() goto(150, -150) goto(150, 150) goto(-150, 150) goto(-150, -150) penup()
print('Куда идти?') try: x = int(input('x = ')) y = int(input('y = ')) except ValueError: print('Некорректный ввод. Нужно целое число.') exitonclick() raise SystemExit
Проверяем попадание в рамку
if -150 < x < 150 and -150 < y < 150: goto(x, y) # перемещаемся без рисования, так как ранее стоит penup() else: print('Координаты вне рамки')
exitonclick()
Дополнительные варианты и пояснения:
- Если нужно включать границы рамки (т.е. -150 и 150 считаются допустимыми), используйте: if -150 <= x <= 150 and -150 <= y <= 150: goto(x, y) else: print('Координаты вне рамки')
- Обработка ошибок ввода можно усилить с помощью try-except вокруг каждого ввода, или вынести в отдельную функцию в будущем.
- По умолчанию рамка — квадрат со стороной 300 единиц; рамку можно сделать в любом другом виде, если потребуется.
Если хочешь, могу адаптировать код под конкретный стиль урока (например, добавить визуальное подсветление точки внутри рамки, или изменить логику поведения при попадании в рамку).