Найти в Дзене
python-book

Рисуем на Python (библиотека Turtle) Часть 3

Добрый день всем читателям этой статьи. Продолжим рисовать на python с помощью библиотеки turtle. Сегодня будем получить координаты нажатия кнопки мыши и рисовать именно в том месте, где мы нажали на кнопку.

За основу возьмём код из прошлой статьи.

В функции btnclick(x, y) мы пропишем, что будет рисовать наша черепашка, я начну с простой линии вверх. А функции button() bubbles() я удалю, в этой программе они нам не понадобятся.

Для начала я перенёс две строки из функции button() в функцию window(), которая создаёт окно для рисования.

turtle3.py
turtle3.py

А также 12 строкой добавим turtle.done(), чтобы клики обрабатывались и окно не закрывалось.

Используем глобальную переменную n, чтобы в конце нарисованной стрелки был виден её порядковый номер, конечно это не несёт никакой смысловой нагрузки, но это прекрасный момент, чтобы использовать на практике глобальную переменную.

А вот так выглядит функция для рисования стрелки или линии, так как стрелка она только, потому что маркер стрелки остается в конце линии.

turtle3.py
turtle3.py

На самом деле здесь ничего нового, кроме того, что мы перемещаем курсор рисования на координаты x и y, а также используем глобальную переменную. Попробуйте реализовать эту программу, с анимацией это выглядит интереснее, чем на картинке.

Результат работы программы
Результат работы программы

Теперь можно ещё поэкспериментировать и сделать обработку координат, например в одной половине будем рисовать квадраты, а в другой окружности.

Для этого я напишу 2 разные функции для рисования квадратов и окружностей.

turtle3.py
turtle3.py

В функции square(x, y) всё как обычно, перемещаю курсор на координаты и с помощью цикла рисую квадрат.

В функции circle(x, y) всё ещё проще, окружность рисуется с помощью одной функции turtle.circle(radius).

А вызываю я их с помощью условия в переделанной функции btnclick(x, y).

turtle3.py
turtle3.py

То есть если мы кликнули в левой части окна, то x будет отрицательным и нарисуется квадрат, иначе если x будет положительным, то нарисуется окружность.

Вот так это выглядит

Результат работы программы
Результат работы программы

Попробуйте сами и поэкспериментируйте.

Выкладываю код из этой статьи

turtle3.py

Спасибо, что дочитали статью, не болейте!

#программированиедляначинающих #программированиенаpython #программирование

Наука
7 млн интересуются