Урок Черепашья графика
Скачать 38.64 Kb.
|
Урок 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 яблок. Сколько яблок забрали змеи? |