Урок Черепашья графика
![]()
|
Урок 1.Черепашья графика, Turtle Черепашка похожа на доску для рисования. У неё есть функции в стиле turtle.forward(...) и turtle.left(...), с помощью которых черепашка может двигаться. Перед тем как начать работу с черепашкой, необходимо импортировать соответствующий модуль: import turtle Функция turtle.forward(...) заставляет черепашку двигаться вперёд на указанное расстояние. turtle.left(...) приказывает черепашке повернуться влево на указанную градусную меру угла. А turtle.backward(...) и turtle.right(...) действуют аналогично — первая заставляет черепашку двигаться назад, а вторая — поворачиваться вправо. Стандартная «черепашка» – всего лишь треугольник. Это не интересно! Придадим ей нормальный вид командой turtle.shape(): turtle.shape("turtle") Различные виды черепашки: arrow - стрелочка turtle - черепашка circle - кружек square - квадрат triangle - треугольник classic – классическая стрела Создадим черепашку, заставим ее проехать на 25 шагов вперед, и будем ждать клика мышкой для завершения программы: import turtle turtle.shape("turtle") turtle.forward(25) turtle.exitonclick() Команда turtle.exitonclick() остановит выполнение программы когда пользователь кликнет мышкой по окну в котором ходит черепашка. Попробуем нарисовать квадрат: import turtle turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) Чтобы создать круг, используется команда turtle.circle(..) с указанием радиуса круга: import turtle turtle.circle(50) Команды color и fillColor, устанавливают цвет самой черепашки, сделать черепашку красной снаружи, жёлтой внутри: turtle.color('red') turtle.fillcolor('yellow') Команды begin_fill и end_fill, начинают и остановливают заливку. Например, нарисовать жёлтый круг с красным контуром, и перекрывающий его синий круг с красным контуром: turtle.color('red') turtle.fillcolor('yellow') turtle.begin_fill() turtle.circle(100) turtle.end_fill() turtle.fillcolor('blue') turtle.begin_fill() turtle.forward(50) turtle.circle(100) turtle.end_fill() Или, например, нарисовать жёлтый пятиугольник с красным контуром: turtle.color('red') turtle.fillcolor('yellow') turtle.begin_fill() turtle.circle(100, 360, 5) turtle.end_fill() Рекомендуемые цвета: -black, -blue, -brown, -cyan, -gold, -green, -grey, -magenta, -orange, -pink, -red, -violet, -yellow. Цвет ставится в кавычки. Если ты допустил ошибку, то ты можешь воспользоваться командой turtle.reset(), чтобы стереть рисунок, либо командой turtle.undo()., чтобы отменить последние действия. Рисуем квадрат, для квадрата тебе понадобится прямоугольный, т.е. 90-градусный, угол. turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) ![]() Теперь попробуем нарисовать связку из квадратов ![]() turtle.left(20) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.left(30) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.left(40) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) Такой код можно сделать компактнее, и обернуть циклом: for i in range(20,50,10): turtle.left(i) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) Домашние задание (логические задачи) Задача 1. Друзья – Ваня, Саша и Коля. Ваня был не старше Коли, а Саша – не старше Вани. Напиши имена друзей в порядке убывания их возрастов. Задача 2. Ева собрала в саду яблоки. Чтобы выйти из сада, ей пришлось пройти через четыре двери, каждую дверь охранял змей, отбиравший половину яблок. В итоге она принесла 10 яблок. Сколько яблок забрали змеи? |