Написать программу, с использованием библиотеки «черепашка», пользователь вводит длину стороны
32 Просмотров
Задание:
Написать программу, с использованием библиотеки «черепашка», пользователь вводит длину стороны, задача черепашки нарисовать квадрат со стороной именно такой длины, но квадрат обязательно должен быть по центру экрана. Подумайте, насколько в сторону должна отойти черепашка, прежде чем рисовать квадрат, и как это связано с длиной стороны.
Язык программирования Python.
Ответ на задание:
Программа для рисования квадрата по центру экрана
import turtle # Ввод длины стороны side_length = float(input("Введите длину стороны квадрата: ")) # Вычисление смещения offset = side_length / 2 # Перемещение черепашки в центр экрана turtle.penup() turtle.setposition(-offset, offset) turtle.pendown() # Рисование квадрата for i in range(4): turtle.forward(side_length) turtle.right(90) # Закрытие окна turtle.done()
Объяснение:
import turtle
– импортируем библиотеку “черепашка”.side_length = float(input("Введите длину стороны квадрата: "))
– запрашиваем у пользователя длину стороны квадрата и преобразуем ее в число с плавающей запятой.offset = side_length / 2
– вычисляем смещение, на которое нужно переместить черепашку, чтобы квадрат оказался по центру экрана.turtle.penup()
– поднимаем перо черепашки, чтобы она не рисовала во время перемещения.turtle.setposition(-offset, offset)
– перемещаем черепашку в центр экрана.turtle.pendown()
– опускаем перо черепашки, чтобы она начала рисовать.for i in range(4):
– цикл for, который повторяется 4 раза (4 стороны квадрата):turtle.forward(side_length)
– черепашка рисует линию заданной длины.turtle.right(90)
– черепашка поворачивается на 90 градусов.
turtle.done()
– закрываем окно с рисунком.
Связь смещения с длиной стороны:
Смещение, на которое нужно переместить черепашку, чтобы квадрат оказался по центру экрана, равно половине длины стороны квадрата. Это связано с тем, что точка поворота черепашки находится в центре ее тела.
Пример:
Если пользователь вводит длину стороны 100, то:
offset = 100 / 2 = 50
- Черепашка перемещается на 50 пикселей вправо и на 50 пикселей вверх.
- Квадрат рисуется со стороной 100 пикселей, и его центр находится в точке (0, 0).