Перейти к содержимому

Как нарисовать цветок в питоне

  • автор:

Простое рисование с помощью черепашки¶

У неё есть функции в стиле turtle.forward(. ) и turtle.left(. ) , с помощью которых черепашка может двигаться.

Перед тем как начать работу с черепашкой, необходимо импортировать соответствующий модуль. Мы рекомендуем экспериментировать с ней в интерактивной оболочке (для начала), т.к. при использовании файлов придётся заниматься дополнительной утомительной работой. Перейди в терминал и введи:

import turtle 

_images/default.png

Not seeing anything on Mac OS? Try issuing a command like turtle.forward(0) and looking if a new window opened behind your command line.

Используешь Ubuntu и получаешь сообщение об ошибке “No module named _tkinter”? Установи отсутствующий необходимый пакет: sudo apt-get install python3-tk

While it might be tempting to just copy and paste what’s written on this page into your terminal, we encourage you to type out each command. Typing gets the syntax under your fingers (building that muscle memory!) and can even help avoid strange syntax errors.

turtle.forward(25) 

_images/forward.png

turtle.left(30) 

_images/left.png

Функция turtle.forward(. ) заставляет черепашку двигаться вперёд на указанное расстояние. turtle.left(. ) приказывает черепашке повернуться влево на указанную градусную меру угла. А turtle.backward(. ) и turtle.right(. ) действуют анлогично — первая заставляет черепашку двигаться назад, а вторая — поворачиваться вправо.

Если ты хочешь начать заново, введи turtle.reset() , чтобы стереть рисунок. Мы рассмотрим turtle.reset() подробнее немного позже.

Стандартная “черепашка” – всего лишь треугольник. Это не интересно! Придадим ей нормальный вид командой turtle.shape() :

turtle.shape("turtle") 

Так намного лучше!

If you put the commands into a file, you might have recognized that the turtle window vanishes after the turtle finished its movement. (That is because Python exits when your turtle has finished moving. Since the turtle window belongs to Python, it terminates as well.) To prevent that, just put turtle.exitonclick() at the bottom of your file. Now the window stays open until you click on it:

import turtle turtle.shape("turtle") turtle.forward(25) turtle.exitonclick() 

Python — язык программирования, в котором крайне важны отступы в коде. Подробности мы узнаем позже, в главах про функции, но сейчас тебе просто необходимо запомнить, что лишний пробел или символ табуляции перед строкой может вызвать ошибку.

Рисуем квадрат¶

You’re not always expected to know the anwer immediately. Learn by trial and error! Experiment, see what python does when you tell it different things, what gives beautiful (although sometimes unexpected) results and what gives errors. If you want to keep playing with something you learned that creates interesting results, that’s OK too. Don’t hesitate to try and fail and learn from it!

Упражнение¶

Нарисуй квадрат, как на рисунке ниже:

_images/square.png

Для квадрата тебе понадобится прямоугольный, т.е. 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) 

Notice how the turtle starts and finishes in the same place and facing the same direction, before and after drawing the square. This is a useful convention to follow, it makes it easier to draw multiple shapes later on.

Дополнительно¶

If you want to get creative, you can modify your shape with the turtle.width(. ) and turtle.color(. ) functions. How do you use these functions? Before you can use a function you need to know its signature (for example the number of parameters and what they mean.) To find this out you can type help(turtle.color) into the Python shell. If there is a lot of text, Python will put the help text into a pager, which lets you page up and down. Press the q key to exit the pager.

Видишь такую ошибку:

NameError: name 'turtle' is not defined

когда пытаешься просмотреть справку? В Python необходимо импортировать имена, перед тем, как обращаться к ним, т.е. в нашем случае необходимо выполнить import turtle перед help(turtle.color) .

Также найти информацию о функциях можно в онлайн-документации.

Если ты допустил ошибку, то ты можешь воспользоваться командой turtle.reset() , чтобы стереть рисунок, либо командой turtle.undo() ., чтобы отменить последние действия.

As you might have read in the help, you can modify the color with turtle.color( colorstring ) . These include but are not limited to “red,” “green,” and “violet.” See the colours manual for an extensive list.

Рисуем прямоугольник¶

Упражнение¶

Ты тоже можешь нарисовать прямоугольник?

_images/rectangle.png

Решение¶

turtle.forward(100) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(50) turtle.left(90) 

Дополнительно¶

How about a triangle? In an equilateral triangle (a triangle with all sides of equal length) each corner has an angle of 60 degrees.

Больше квадратов¶

Упражнение¶

Now, draw a tilted square. And another one, and another one. You can experiment with the angles between the individual squares.

_images/tiltedsquares.png

На изображении показан поворот черепашки на 20 градусов. Ты же можешь попробовать, например, 30 или 40.

Решение¶

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) 

© Авторские права 2012–2014, OpenTechSchool and contributors.
Создано с помощью Sphinx 1.3.1.

Команды для рисования Черепашкой

Перемещать черепашку мы уже умеем. Теперь научимся работать с пером. Перо — это инструмент с помощью которого Черепашка рисует линии.
Команда turtle.penup() подымает перо. После чего, Черепашка не оставляет на холсте след. Чтобы начать снова рисовать необходимо опустить перо командой turtle.pendown(). По умолчанию у Черепашки перо всегда опущено. Команды penup() и pendown() применяются без аргументов в скобках.

#Подымаем перо turtle.penup()
#Опускаем перо turtle.pendown()

Сокращенные версии команды: turtle.up() или turtle.pu() чтобы поднять перо и turtle.down() или turtle.pd() чтобы опустить.
Еще одно свойство пера — это его толщина. То, насколько толстым будет след оставляемый Черепашкой. Устанавливается он командой turtle.pensize() или turtle.width(), где в скобках указывается число, толщина в пикселях линии, которую рисует Черепашка.

#Рисуем линию толщиной в пять пикселей turtle.pensize(5)

По умолчанию Черепашка рисует линию черным цветом. Но с помощью команды turtle.pencolor() мы можем его изменить.
В качестве аргументов мы можем записать название цвета, на английском языке, которым Черепашка должна будет рисовать линии. Например red, green или blue. Передаваемые названия должны быть обязательно взяты в кавычки или апострофы.

#Рисуем линии красным цветом turtle.pencolor('red')

Цвет также можно задать используя палитру RGB, записав три числа от 0 до 255 через запятую.

#Рисуем линии зеленым цветом используя RGB палитру turtle.pencolor(0,255,0)

Либо задав цвет в виде шестнадцатеричного числа, так же взяв его в кавычки или апострофы.

#Рисуем линии синим цветом используя шестнадцатеричную запись turtle.pencolor('#0000ff')

Черепашка может закрашивать замкнутые области. Для начала необходимо установить цвет заливки используя команду turtle.fillcolor(). В качестве аргументов указываем цвет, как и в цветет линии.
Для того, чтобы указать начало заливки задаем команду turtle.begin_fill(), а чтобы закончить turtle.end_fill().

#Указываем цвет заливки turtle.fillcolor('#0000ff') turtle.begin_fill() #Тут записываем команды движения Черепашки turtle.end_fill()

Для заливки необязательно Черепашкой рисовать замкнутую область. В этом случае между местом откуда мы начали заливку и где ее закончили будет проведена граница, по которой и пройдет заливка фигуры.
Менять цвет линии и заливки можно так-же командой turtle.color(). Этой команду можно передать как один аргумент, так и два, записав их через запятую. Первый аргумент устанавливает цвет линии, а второй цвет заливки.

#Первый аргумент изменяет цвет линии, второй цвет заливки turtle.color('#0000ff', 'red')

«Черепашка на Питоне онлайн»

t.begin_fill(), t.end_fill() Начать и остановить заливку. Например, нарисовать жёлтый круг с красным контуром:

t.color('red') t.fillcolor('yellow') t.begin_fill() t.circle(100) t.end_fill()

Или, например, нарисовать жёлтый пятиугольник с красным контуром:

t.color('red') t.fillcolor('yellow') t.begin_fill() t.circle(100, 360, 5) t.end_fill()
Основные команды

t.backward(d) Передвинуться назад на d пикселей, например, на 50:

t.backward(50)

t.circle(r) Нарисовать круг радиусом r, например, 50 пикселей:

t.circle(50)

t.circle(r, angle, n) Нарисовать дугу радиусом r, c углом angle и числом шагов n. Чем больше число шагов, тем плавнее дуга. Например, нарисуем дугу радиусом 50 пикселей, с углом 180 градусов и числом шагов 100:

t.circle(50, 180, 100)

t.circle(r, 360, n) Нарисовать многоугольник с радиусом описанной окружности r и числом сторон n. Например, нарисуем шестиугольник с радиусом описанной окружности 100 пикселей:

t.circle(100, 360, 6)

t.color(c) Изменить цвет на c. Рекомендуемые цвета: -black, -blue, -brown, -cyan, -gold, -green, -grey, -magenta, -orange, -pink, -red, -violet, -yellow. Цвет ставится в кавычки. Например, изменим цвет на красный:

t.color('red')

t.forward(d) Передвинуться вперёд на d пикселей, например, на 50:

t.forward(50)

t.goto(x,y) Перейти в точку с координатами (x,y), например, (100,15):

t.goto(100, 150)

t.left(angle) Повернуть налево на угол angle, например, на 90 градусов:

t.left(90)

t.penup() Поднять перо. Если перо поднято, черепашка не оставляет след при движении:

t.penup()

t.pendown() Опустить перо. Если перо опущено, черепашка оставляет след при движении:

t.pendown()

t.right(angle) Повернуть направо на угол angle, например, на 60 градусов:

t.right(60)

t.stamp() Поставить отпечаток, эта команда без параметров:

t.stamp()
Документация для тех, кто знает английский язык

Некоторые типы ошибок

SyntaxError — синтаксическая ошибка, например, в строке 5:

SyntaxError: bad input on line 5

IndentationError — ошибка в отступе, например, в строке 10:

IndentationError: unindent does not match any outer indentation level on line 10

NameError — ошибка в имени переменной, например, переменная ‘p’ не определена в строке 11:

NameError: name 'p' is not defined on line 11

AttributeError — ошибка в атрибуте, например, в строке 7, так как у черепашки нет метода print():

AttributeError: 'Turtle' object has no attribute 'print' on line 7

TypeError — ошибка в числе или типах аргументов, например, при вызове left() не задан угол поворота, правильно t.left(90), t.left(45), t.left(-20).

TypeError: left() takes exactly 1 positional argument(s) (0 given) on line 17

Информатика. Мне нужно нарисовать цветок — шестиугольник в Python или Tonny. Что должно получиться прикрепляю в фото.

Сфотографируйте команды как это рисовать, ничего не понимаю, ответов в интернете нет.

ОТДАМ ВСЕ БАЛЫ, СТАВЛЮ 5 ЗВЁЗД! заранее спасибо)​

Смотреть ответ

KanzArtem11

Первый скриншот — это сам код.

Второй — это результат.

На всякий случай еще сюда продублирую код. Только внимательней с табуляцией.

import turtle

pen = turtle.Turtle()

pen.speed(1)

pen.color(‘yellow’)

def six():

angle = 60

for i in range(6):

pen.left(angle)

pen.forward(100)

for i in range(6):

six()

pen.up()

pen.right(60)

pen.forward(100)

pen.down()

Но я бы цвет с yellow поменял бы на black, а то на белом фоне смотрится так себе.

Если хочешь как на 3 скрине, добавь строчку «pen.width(10)» после «pen.speed(1)» например

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *