Добрый день.
Начал изучать Python и увидел замечательную встроенную библиотеку turtle (черепашка), в которой можно рисовать простые рисунки, работа с ней очень похожа на то, как можно рисовать в Paint.
Хочу привести пару примеров, того что можно нарисовать, с небольшим пояснением.
Были использованы такие методы как:
turtle.color(color) - Задаем цвет курсора color ;
turtle.penup() - Поднимаем курсор, что бы при перемещении курсора не происходило рисование линий;
turtle.pendown() - Опускаем курсор, что бы при перемещении курсора происходило рисование линий;
turtle.goto(x, y) - Перейти в точку с координатами x и y;
turtle.circle(radius) - Нарисовать круг с радиусом = radius;
turtle.right(degrees) - Повернуть курсор на право на degrees градусов;
turtle.left(degrees) - Повернуть курсор на лево на degrees градусов;
turtle.forward(length) - Нарисовать линий длиной = length;
turtle.done() - Этим методом должны завершаться все программы использующие turtle.
Для начала нарисуем символ олимпиады, вот что мы получим в конце:
Теперь нарисуем домик (я очень плохо рисую, кстати :) ):
Ссылки:
Обожаю Python за его мега крутую документацию, вот по turtle: тыц
Начал изучать Python и увидел замечательную встроенную библиотеку turtle (черепашка), в которой можно рисовать простые рисунки, работа с ней очень похожа на то, как можно рисовать в Paint.
Хочу привести пару примеров, того что можно нарисовать, с небольшим пояснением.
Были использованы такие методы как:
turtle.color(color) - Задаем цвет курсора color ;
turtle.penup() - Поднимаем курсор, что бы при перемещении курсора не происходило рисование линий;
turtle.pendown() - Опускаем курсор, что бы при перемещении курсора происходило рисование линий;
turtle.goto(x, y) - Перейти в точку с координатами x и y;
turtle.circle(radius) - Нарисовать круг с радиусом = radius;
turtle.right(degrees) - Повернуть курсор на право на degrees градусов;
turtle.left(degrees) - Повернуть курсор на лево на degrees градусов;
turtle.forward(length) - Нарисовать линий длиной = length;
turtle.done() - Этим методом должны завершаться все программы использующие turtle.
Для начала нарисуем символ олимпиады, вот что мы получим в конце:
Алгоритм рисования довольно прост:
- Задаем цвет, которым будем рисовать;
- Поднимаем черепашку (курсор), что бы во время перехода не рисовались линии;
- Переходим на интересующие нас координаты x и y;
- Опускаем черепашку (курсор);
- Рисуем круг с радиусом 45.
И так выполняем для каждого круга. Вот небольшой исходный код программы:
import turtle # Импортируем библиотеку turtle
turtle.color("blue") # Устанавливаем цвет черепашки
turtle.penup() # Поднимаем курсор
turtle.goto(-110, -25) # Переходим по нужным координатам
turtle.pendown() # Опускаем курсор
turtle.circle(45) # Рисуем круг с радиусом 45
turtle.color("black")
turtle.penup()
turtle.goto(0, -25)
turtle.pendown()
turtle.circle(45)
turtle.color("red")
turtle.penup()
turtle.goto(110, -25)
turtle.pendown()
turtle.circle(45)
turtle.color("yellow")
turtle.penup()
turtle.goto(-55, -75)
turtle.pendown()
turtle.circle(45)
turtle.color("green")
turtle.penup()
turtle.goto(55, -75)
turtle.pendown()
turtle.circle(45)
turtle.color("black")
turtle.penup()
turtle.goto(0, 80)
turtle.pendown()
turtle.write("Olympic Symbol") # Вместо еще одного круга выводим надпись "Olympic Symbol"
turtle.done()
Теперь нарисуем домик (я очень плохо рисую, кстати :) ):
Тут я использовал еще несколько новых функций:
import turtle
turtle.penup()
turtle.goto(35, 35)
turtle.right(90) # Повернуть курсор на 90 градусов вправо
turtle.pendown()
turtle.forward(70) # Пройти вперед расстояние 70, если курсор опущен, то будет нарисована линия по пути слоедования
turtle.right(90)
turtle.forward(70)
turtle.right(90)
turtle.forward(70)
turtle.right(90)
turtle.forward(70)
turtle.penup()
turtle.goto(45, 35)
turtle.right(225)
turtle.pendown()
turtle.forward(70)
turtle.left(90)
turtle.forward(70)
turtle.left(135) # Повернуть курсор влево на 135 градусов
turtle.forward(100)
turtle.done()
Ссылки:
Обожаю Python за его мега крутую документацию, вот по turtle: тыц
Отличная статья!
ОтветитьУдалитьВсе коды запускаются без проблем. Часто бывает так, что автор приводит пример кода, но при попытке его реализации постоянно происходят ошибки, здесь же все четко. Сейчас буду пытаться из этого всего сделать Hello World в графике.
Можете показать конечный код без объяснений
ОтветитьУдалитьТо уже и есть конечный код!! Там есть хєштег єто закоментировано оно не читаеться програмой) ви можете єто скопировать и вставить в строку дейсвий!
Удалитьпомогите,пожалуйста,сделать это задание. нарисовал квадрат,препод написал,что все не правильно.
ОтветитьУдалитьПользователь вводит название фигуры: «Квадрат, Прямоугольник или Треугольник». В зависимости от пользовательского ввода с помощью черепашки рисуется данная фигура.
Создаёшь функции для рисования каждой из фигур, потом проверяешь input и в зависимости от того, что ввел пользователь, вызываешь какую-то из этих функций.
Удалитьа как круги если одного цвета в повтор загнать, что бы 4 раза не писать одно и то же?..
ОтветитьУдалитьctrl+C ctrl+V
Удалитьа как серце нарисовать
ОтветитьУдалитьВо-первых, нихрена не запускается, во вторых про pep8 автор вообще ничего не слышал!
ОтветитьУдалитьяяяяяяяяяяя не вижу нужные команды!!!!!!!!!!
ОтветитьУдалитьможете помочь
ОтветитьУдалитья не знаю как сделать чтобы круг рисовался в правую сторону
А в чем раздница?
Удалитьможете подсказать? Как сделать так чтобы когда Пользователь вводит название фигуры: «Квадрат, Прямоугольник или Треугольник». В зависимости от пользовательского ввода с помощью черепашки рисуется данная фигура.
ОтветитьУдалить