Как сделать треугольник в Python
В данной статье мы рассмотрим простой способ создания треугольника с использованием Python.
Используем циклы
Один из самых простых способов нарисовать треугольник в Python — использовать вложенные циклы. Вот пример кода:
В данном примере мы создаем треугольник высотой 5 строк. Вы можете изменить значение переменной n для создания треугольника другой высоты.
Использование библиотеки Turtle
Если вы хотите создать треугольник с визуальным представлением, вы можете использовать библиотеку Turtle. Вот пример кода:
В этом примере мы используем библиотеку Turtle для создания равностороннего треугольника со стороной 100. Вы можете изменить размер стороны и углы, чтобы создать треугольник с другими параметрами.
Заключение
В этой статье мы рассмотрели два простых способа создания треугольника в Python. Вы можете выбрать подход, который больше подходит для ваших задач, и начать экспериментировать с кодом.
Библиотека pygame №1
pygame — это библиотека модулей для языка Python, созданная для разработки 2D игр.
Для того чтобы установить pygame на свой компьютер необходимо открыть командную строку или терминал и написать команду
pip3 install pygame
После установки необходимо создать новый файл и импортировать модуль pygame и написать шаблон игры
# Импортируем библиотеку pygame
import pygame
# Импортируем системную функцию exit
from sys import exit
# Инициализируем pygame
pygame. init ()
# Создаем окошко 800 пикселей шириной
# и 600 пикселей высотой и записываем его
# в переменную display.
# Переменную display называют поверхностью.
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Основной цикл игры
while True :
# Ждем события (действия пользователя)
f or event in pygame.event. get ():
# Если нажали на крестик,
# то закрываем окно
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
# Обновляем поверхность игры
# на каждом шаге основного цикла игры
pygame.display. update ()
Пользователь может взаимодействовать с нашей игрой. Каждое действие пользователя — это некоторое событие , которое мы можем обработать . Выражение pygame.event.get() — это список событий, произошедших в нашей игре.
Цикл for просто перебирает необработанные события. Каждое событие он присваивает переменной event (можно написать любую другую).
Поговорим о цикле while , основном цикле игры . Как часто он выполняется? Очень и очень часто, это зависит от мощности компьютера. Для обновления экрана в играх часто используют 60 кадров в секунду.
Ограничим количество выполнений цикла.
import pygame
from sys import exit
display = pygame.display. set_mode ( ( 800 , 600 ) )
FPS = 60 # Создаем переменную FPS
clock = pg.time. Clock () # Создаем счетчик для FPS
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
clock. tick (FPS) # Замедляем цикл до 60 выполнений в секунду
Методу tick() передается желаемое количество кадров в секунду. Задержку он вычисляет сам. На каждой итерации основного цикла игры секунда делится на 60 и на вычисленную величину выполняется задержка.
Рисование фигур
В библиотеке pygame существует множество функций для рисования различных фигур.
Функция polygon() рисует произвольную фигуру. Она принимает 3 обязательных параметра (поверхность, цвет и кортеж координат) и 1 необязательный (толщину линий).
import pygame
from sys import exit
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Рисуем полигон (да, получится квадратик)
pygame.draw. polygon ( display, ( 255 , 0 , 0 ) , ( ( 0 , 0 ), ( 100 , 0 ), ( 100 , 100 ), ( 0 , 100 ) ) )
FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
display — наша поверхность
(255, 0, 0) — красный цвет , почитайте про rgb
( (0, 0), (100, 0), (100, 100), (0, 100) ) — координаты вершин квадрата. Возьмите листочек и нарисуйте его координатах (замените сотню на единицу).
Давайте нарисуем треугольник
import pygame
from sys import exit
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Рисуем квадратик
pygame.draw. polygon ( display, ( 255 , 0 , 0 ) , ( ( 0 , 0 ), ( 100 , 0 ), ( 100 , 100 ), ( 0 , 100 ) ) )
# Рисуем синий треугольник
pygame.draw. polygon ( display, ( 0 , 0 , 255 ) , ( ( 100 , 100 ), ( 200 , 200 ), ( 100 , 200 ) ) )
FPS = 60 # Создаем переменную FPS
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
(0, 0, 255) — синий цвет
((100, 100), (200, 200), (100, 200)) — координаты вершин нашего треугольник.
Самостоятельно нарисуйте пятиугольник (вам помогут карандаш и лист бумаги)
Рисование окружностей
Чтобы нарисовать окружность нужно вызвать метод circle из модуля draw. Команда выглядит так: pygame.draw.circle(display, color, position, radius).
display — поверхность, на которой рисуем
color — цвет, записанный в кортеже из трех чисел. (еще раз про rgb)
position — координаты точки центра окружности ( кортеж из двух чисел (x, y) )
radius — радиус окружности в пикселях
import pygame
from sys import exit
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Рисуем квадратик
pygame.draw. polygon ( display, ( 255 , 0 , 0 ) , ( ( 0 , 0 ), ( 100 , 0 ), ( 100 , 100 ), ( 0 , 100 ) ) )
# Рисуем синию линию
pygame.draw. polygon ( display, ( 0 , 0 , 255 ) , ( ( 100 , 100 ), ( 200 , 200 ), ( 100 , 200 ) ) )
# Рисуем желтую окружность с радиусом 100 пикселей
pygame.draw. circle ( display, ( 255 , 255 , 0 ) , ( 400 , 200 ), 100 )
FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
display — наша поверхнотсть для рисования
(255, 255, 0) — желтый цвет
(400, 200) — координаты точки центра (в нашем случае 400 пикселей от верхнего левого угла по горизонтали и 200 пикселей по вертикали)
100 — радиус нашей окружности в пикселях
Объявления переменных для цветов
Для нашего с вами удобства давайте объявим несколько переменных, в которые сохраним используемые нами цвета
import pygame
from sys import exit
WHITE = ( 255 , 255 , 255 )
BLACK = ( 0 , 0 , 0 )
PURPLE = ( 156 , 39 , 176 )
INDIGO = ( 63 , 81 , 181 )
BLUE = ( 33 , 150 , 243 )
GREEN = ( 76 , 175 , 80 )
YELLOW = ( 255 , 235 , 59 )
ORANGE = ( 255 , 152 , 0 )
GREY = ( 158 , 158 , 158 )
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Рисуем квадратик
pygame.draw. polygon ( display, ( 255 , 0 , 0 ) , ( ( 0 , 0 ), ( 100 , 0 ), ( 100 , 100 ), ( 0 , 100 ) ) )
# Рисуем синию линию
pygame.draw. polygon ( display, ( 0 , 0 , 255 ) , ( ( 100 , 100 ), ( 200 , 200 ), ( 100 , 200 ) ) )
# Рисуем желтую окружность с радиусом 100 пикселей
pygame.draw. circle ( display, ( 255 , 255 , 0 ) , ( 400 , 200 ), 100 )
FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
Рисование прямоугольников
Для отрисовки прямоугольников можно использовать метод rect.
pygame.draw.rect(display, color, (x, y, width, height) )
color — цвет (теперь можно просто написать имя переменную)
(x, y, width, height) — кортеж из четырех значений. Первые два значения — это координаты верхнего левого угла прямоугольника, а два последних — это ширина и высота.
import pygame
from sys import exit
WHITE = ( 255 , 255 , 255 )
BLACK = ( 0 , 0 , 0 )
PURPLE = ( 156 , 39 , 176 )
INDIGO = ( 63 , 81 , 181 )
BLUE = ( 33 , 150 , 243 )
GREEN = ( 76 , 175 , 80 )
YELLOW = ( 255 , 235 , 59 )
ORANGE = ( 255 , 152 , 0 )
GREY = ( 158 , 158 , 158 )
display = pygame.display. set_mode ( ( 800 , 600 ) )
# Рисуем квадратик
pygame.draw. polygon ( display, ( 255 , 0 , 0 ) , ( ( 0 , 0 ), ( 100 , 0 ), ( 100 , 100 ), ( 0 , 100 ) ) )
# Рисуем синию линию
pygame.draw. polygon ( display, ( 0 , 0 , 255 ) , ( ( 100 , 100 ), ( 200 , 200 ), ( 100 , 200 ) ) )
# Рисуем желтую окружность с радиусом 100 пикселей
pygame.draw. circle ( display, ( 255 , 255 , 0 ) , ( 400 , 200 ), 100 )
# Рисуем фиолетовый прямоугольник 200х300
pygame.draw. rect ( display, PURPLE , ( 600 , 300 , 200 , 300 ))
FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()
Если ваша творческая натура требует большего, то вот ссылка на документацию модулю draw
Там можно найти рисование линий, дуг, эллипсов.
Большой пример ( запусти его у себя на компьтере:
import pygame
from sys import exit
from random import randint
# Функция, возвращающая случайный оттенок зеленого цвета
def randomGreen ():
return randint ( 0 , 100 ), randint ( 100 , 255 ), randint ( 0 , 100 )
# Функция, возвращающая случайный оттенок красного цвета
def randomRed ():
return randint ( 100 , 255 ), randint ( 0 , 100 ), randint ( 0 , 100 )
Создание треугольника в tkiner
Можете адаптировать ее к вашему коду изменяя координаты.
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.9.6.43612
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
How To Draw Triangles In Python Turtle

Drawing with Turtle in Python is really fun. In the past handful of tutorials, we learned how to import the Turtle module for use in our programs saw how to make the turtle (pen) move on the canvas, made the turtle change directions on the canvas, saw how to use loops in turtle, and made drawings of shapes using variables. Now we will take a look at drawing another type of Polygon, the triangle using the Turtle library in Python.
Define A Triangle Function
To draw a triangle, we want to use a function, and it should make use of variables. We do this so that we can call the function many times if we like to draw many triangles of different sizes.

Nice! The triangle function works. Notice that the loop uses 3 iterations shown by range(3) whereas when we drew a square it used 4 iterations in the loop. Another thing we notice is that we are passing in 120 as the degrees to turn for the left() function. Why is that? This is because when drawing a triangle, you need to use the outside angle rather than the inside angle. What we are drawing here is an equilateral triangle since all three angles of an equilateral triangle add up to 180 degrees.

Drawing More Triangles
Now we can use the draw_triangle() function a couple of times in combination with moving the turtle to a different spot on the canvas for a nice effect.

The following iteration takes that idea a step further to draw three triangles in different spots on the canvas.

Drawing Triangles In A Loop
Calling the draw_triangle() inside of a loop makes for some really cool effects.