Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 21 ноября 2025 11:40

From turtle import * penup() goto(-200, 0) pendown() goto(200, 0) penup() goto(0, -200) pendown() goto(0, 200) exitonclick() исправь код чтоб у коррдинатной были стрелки на концах

Ответ нейросети

21 ноября 2025 11:40

Классно! Чтобы у осей были стрелки на концах, добавим функцию, которая рисует треугольник-стрелку на конце линии, ориентированный вдоль направления линии. Затем применим её к обоим концам осей.

Что сделано:

  • добавлена функция draw_arrowhead(x1, y1, x2, y2, head_length, head_angle_deg), которая рассчитывает направление линии, строит треугольник стрелки и заполняет его.
  • после рисования осей вызываем эту функцию для обоих концов горизонтальной и вертикальной осей.
  • код остаётся простым и понятным, подходит для школьной задачи.

Пример кода:

from turtle import * import math

def draw_arrowhead(x1, y1, x2, y2, head_length=20, head_angle_deg=30, color="black"): dx = x2 - x1 dy = y2 - y1 L = math.hypot(dx, dy) if L == 0: return ux, uy = dx / L, dy / L # единичный вектор вдоль линии nx, ny = -uy, ux # нормаль к линии

head_angle = math.radians(head_angle_deg)
head_width = head_length * math.tan(head_angle)

# две точки основания стрелки
base1 = (x2 - head_length * ux + head_width * nx,
         y2 - head_length * uy + head_width * ny)
base2 = (x2 - head_length * ux - head_width * nx,
         y2 - head_length * uy - head_width * ny)

penup()
goto(x2, y2)
pendown()
color(color)
fillcolor(color)
begin_fill()
goto(base1)
goto(base2)
goto(x2, y2)
end_fill()

def main(): speed(0) hideturtle()

# горизонтальная ось
penup()
goto(-200, 0)
pendown()
goto(200, 0)

# стрелки на концах горизонтальной оси
draw_arrowhead(-200, 0, 200, 0, head_length=20, head_angle_deg=25)
draw_arrowhead(200, 0, -200, 0, head_length=20, head_angle_deg=25)

# вертикальная ось
penup()
goto(0, -200)
pendown()
goto(0, 200)

# стрелки на концах вертикальной оси
draw_arrowhead(0, -200, 0, 200, head_length=20, head_angle_deg=25)
draw_arrowhead(0, 200, 0, -200, head_length=20, head_angle_deg=25)

exitonclick()

if name == "main": main()

Кратко как работает:

  • оси рисуются обычными линиями от (-200,0) до (200,0) и от (0,-200) до (0,200).
  • стрелки добавляются двумя вызовами draw_arrowhead: для каждого конца линии указывается начальная точка x1,y1 и конечная точка x2,y2, чтобы стрелка смотрела наружу от центра оси.
  • параметры head_length и head_angle_deg можно подстроить под желаемый размер стрелки. Если нужно стрелок только на одном конце, оставь вызовы только для нужных концов.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

from turtle import * penup() goto(-200, 0) pendown() goto(200, 0) penup() goto(0, -200) pendown() goto(0, 200) exitonclick() исправь код чтоб у коррдинатной были стрелки на концах
Классно! Чтобы у осей были стрелки на концах, добавим функцию, которая рисует треугольник-стрелку на конце линии, ориентированный вдоль направления линии. Затем применим её к обоим концам осей. Что сделано: - добавлена функция draw_arrowhead(x1, y1, x2, y2, head_length, head_angle_deg), которая рассчитывает направление линии, строит треугольник стрелки и заполняет его. - после рисования осей вызываем эту функцию для обоих концов горизонтальной и вертикальной осей. - код остаётся простым и понятным, подходит для школьной задачи. Пример кода: from turtle import * import math def draw_arrowhead(x1, y1, x2, y2, head_length=20, head_angle_deg=30, color="black"): dx = x2 - x1 dy = y2 - y1 L = math.hypot(dx, dy) if L == 0: return ux, uy = dx / L, dy / L # единичный вектор вдоль линии nx, ny = -uy, ux # нормаль к линии head_angle = math.radians(head_angle_deg) head_width = head_length * math.tan(head_angle) # две точки основания стрелки base1 = (x2 - head_length * ux + head_width * nx, y2 - head_length * uy + head_width * ny) base2 = (x2 - head_length * ux - head_width * nx, y2 - head_length * uy - head_width * ny) penup() goto(x2, y2) pendown() color(color) fillcolor(color) begin_fill() goto(base1) goto(base2) goto(x2, y2) end_fill() def main(): speed(0) hideturtle() # горизонтальная ось penup() goto(-200, 0) pendown() goto(200, 0) # стрелки на концах горизонтальной оси draw_arrowhead(-200, 0, 200, 0, head_length=20, head_angle_deg=25) draw_arrowhead(200, 0, -200, 0, head_length=20, head_angle_deg=25) # вертикальная ось penup() goto(0, -200) pendown() goto(0, 200) # стрелки на концах вертикальной оси draw_arrowhead(0, -200, 0, 200, head_length=20, head_angle_deg=25) draw_arrowhead(0, 200, 0, -200, head_length=20, head_angle_deg=25) exitonclick() if __name__ == "__main__": main() Кратко как работает: - оси рисуются обычными линиями от (-200,0) до (200,0) и от (0,-200) до (0,200). - стрелки добавляются двумя вызовами draw_arrowhead: для каждого конца линии указывается начальная точка x1,y1 и конечная точка x2,y2, чтобы стрелка смотрела наружу от центра оси. - параметры head_length и head_angle_deg можно подстроить под желаемый размер стрелки. Если нужно стрелок только на одном конце, оставь вызовы только для нужных концов.