Как нарисовать треугольник в пайтоне
Блог веб разработки статьи | видеообзоры | исходный код

tkinter python рисование

Всем привет! Сегодня мы с вами познакомимся с элементом canvas который переводится как холст. Именно на данном холсте мы можем производить отрисовку различных фигур и текста. Итак, поехали!
Для того чтобы начать отрисовку в окне необходимо создать элемент canvas.
canvas = Canvas(window, width=600,height=600,bg="gray", cursor="pencil")
C помощью виджета canvas у нас создается холст. В него мы передали следующие параметры:
window — главное окно
width, height — ширина и высота холста
bg — заливка холста(gray — серый цвет)
cursor — курсор в фокусе холста(pencil — карандаш)
from tkinter import * window = Tk() window.title('Работа с canvas') canvas = Canvas(window,width=600,height=600,bg="gray", cursor="pencil") canvas.pack() window.mainloop()

C помощью метода pack() мы выводим наш холст в главное окно.
Все теперь мы можем переходить к отрисовке. Начнем с простых линий.
canvas.create_line(0,0,600,600,width=5,fill="yellow") canvas.create_line(0,600,600,0,width=5,fill="yellow")

Здесь мы создали две прямых линии. Для их создания воспользовались методом create_line() который принимает в себя следующие параметры.
Первые два параметра это координаты x,y первой точки начало отрезка.
Вторые два параметры это координаты x,y второй точки конец отрезка.
width — толщина линии.
fill — заливка, цвет линии(yellow — желтый).
Для того чтобы на холсте нарисовать прямоугольник или квадрат, нужно воспользоваться методом create_rectangle().
canvas.create_rectangle(50,250,300,500,fill="white",outline="blue")

C помощью метода create_rectangle()мы нарисовали квадрат. Данный метод принимает в себя следующие параметры:
Первые два параметра координаты левого верхнего угла прямоугольника.
Вторые два параметра координаты правого нижнего угла прямоугольника.
fill — цвет заливки прямоугольника.
outline — цвет рамки прямоугольника.
Теперь переходим к отрисовке эллипсов и кругов.
Для того чтобы нарисовать круг или овал нам достаточно воспользоваться методом create_oval().
canvas.create_oval([400,250],[450,300],fill="pink")

В основе отрисовки круга с помощью данного метода лежит отрисовка прямоугольника. То есть по сути мы отрисовываем невидимый квадрат куда может быть помещен в полную высоту и ширину квадрат или овал.
Данный метод принимает собой следующие аргументы:
Первые два аргумента в квадратных скобочках координаты x,y левого верхнего угла квадрата.
Вторые два аргумента в квадратных скобочках координаты x, y правого нижнего угла квадрата.
fill — цвет заливки овала.
Для отрисовки более сложных фигур треугольников, многоугольников, многогранников.
Мы можем воспользоваться методом create_polygon().
canvas.create_polygon([400,400],[300,400],[350,300],fill="gray", outline="yellow")

Здесь мы нарисовали треугольник. В качестве параметров данный метод принимает пары значений координат точек которые последовательно между собой соединяются прямыми.
Точек в разных координатах можно создавать сколько угодно. В результате можно нарисовать фигуру практически любой сложности. Свойство fill отвечает за цвет заливки фигуры, а outline за ее контур. Заметьте мы указали цвет заливки точно такой же как и цвет холста и в результате у нас получился эффект не закрашенной фигуры.
И напоследок рассмотрим отрисовку текста в canvas.
canvas.create_text(250,280,text="Текст в canvas", font="Verdana 12",justify=CENTER,fill="red")

За отрисовку текста в canvas отвечает метод create_text(). В него передаются следующие параметры:
Первые два параметра координаты x, y расположения текста на холсте.
text — текст который мы хотим нарисовать
font — шрифт и размер текста
justify — выравнивание текста(слева, справа, по центру)
fill — цвет текста
Весь написанный за сегодня код выглядит так:
from tkinter import * window = Tk() window.title('Работа с canvas') canvas = Canvas(window,width=600,height=600,bg="gray", cursor="pencil") canvas.create_line(0,0,600,600,width=5,fill="yellow") canvas.create_line(0,600,600,0,width=5,fill="yellow") canvas.create_rectangle(50,250,300,500,fill="white",outline="blue") canvas.create_oval([400,250],[450,300],fill="pink") canvas.create_polygon([400,400],[300,400],[350,300],fill="gray", outline="yellow") canvas.create_text(250,280,text="Текст в canvas", font="Verdana 12",justify=CENTER,fill="red") canvas.pack() window.mainloop()
Отлично! Сегодня мы с вами познакомились с основами рисования canvas библиотеки tkinter.
Если у вас появились какие либо вопросы пишите в группу
или оставляйте их в комментариях к данной статье.
Также у меня есть канал на
где я каждую неделю публикую новые видео посвященные веб разработке. Так что переходите и будем развиваться вместе.
На этом у меня на сегодня все. Желаю вам успехов и удачи! Пока!
Оцените статью:
Статьи
- кэш HTML
- Работа с выделением текста и курсором.
- CSS media screen
- pattern html
- библиотека tkinter
- Генерация строк php
- session php
- Touch javascript
- quotes css
Комментарии
Внимание. Комментарий теперь перед публикацией проходит модерацию
Евгений
12:00 12-11-2019
Не подскажите как повернуть текст на 90 градусов чтобы подписать ось Y
© 2017-2024 webfanat.com Все права защищены.

Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Добавить приложение на рабочий стол
Как нарисовать треугольник в консоли?
Звездный треугольник
Напишите функцию draw_triangle(fill, base) , которая принимает два параметра:
fill – символ заполнитель;
base – величина основания равнобедренного треугольника;
Примечание. Гарантируется, что основание треугольника – нечетное число.
Тестовые данные
Sample Input 1: * 9 Sample Output 1: * ** *** **** ***** **** *** ** *
А вот мой код:
def draw_triangle(fill, base): pass fill = input() base = int(input()) for i in range(1,base+1): print(fill * min(i, base - i + 1)) draw_triangle(fill, base)
Как нарисовать треугольник?
Как нарисовать треугольник так чтобы внутри треугольника было пусто.
так получается сделать но получается полный
for i in range(n+1): for j in range (n-i) : print(end = " ") for j in range (i + 1): print("*", end = " ") print()
- Вопрос задан более двух лет назад
- 952 просмотра
6 комментариев
Простой 6 комментариев
А что такое «треугольник Pyton»?
Salim @saver116 Автор вопроса
dmshar, треугольник на Pyton

Salim, то есть тега, который висит над вопросом, не достаточно? надо обязательно воткнуть его в заголовок и придать ему бессмысленности?
Salim, А что такое «Pyton»? Ну хоть переписать название вы без ошибок можете? Это же название языка, который вы как бы изучаете.

Звучит как оскорбление

А что такое «Pyton»? Ну хоть переписать название вы без ошибок можете? Это же название языка, который вы как бы изучаете.
Праффисианалы на марше.
Решения вопроса 0
Ответы на вопрос 2

rusyska55011 @rusyska55011
height = 10 for row_level in range(height): string = '' for left_step in range(height - row_level): string += ' ' string += '*' for right_step in range(row_level * 2): string += ' ' print(string + '*') else: string = '' for i in range(height * 2 + 2): string += '*' print(string)
Как можно Нарисовать треугольник в Python
Python- довольно известный язык программирования, который пользуется популярностью сейчас. Отлично знать такой язык в нынешных реалях.Так что я вам предлагаю немного по- программировать).Предлагаю нарисовать треугольник с помощью «turtle»-черепаха.

В среде Python Черепашкой называется воображаемый робот — устройство, которое перемещается по экрану и возвращается в заданных направлениях, одновременно оставляя (или ,по выбору, не оставляя) за собой нарисованный след заданного цвета и ширины.
Для начала нужно скачать само приложение:
СКАЧАТЬ PYTHON
Зайдя в Python нажмите File-New File:

Чтобы «призвать» черепашку, нужно ввести:
from turtle import*
И у вас дожно появится следующее окно:

Теперь собствено код:
forward(40)
left(120)
forward(40)
left(120)
forward(40)
В результате выдает:

Можно его увеличить:
forward(200)
left(120)
forward(200)
left(120)
forward(200)
Результат:

Можно немного «поколдовать» с координатами:
from turtle import *
forward(40)
left(120)
forward(40)
left(120)
forward(40)
up()
goto(-20,35)
down()
forward(40)
left(120)
forward(40)
left(120)
forward(40)
up()
goto(-40,0)
down()
forward(40)
left(120)
forward(40)
left(120)
forward(40)
up()
goto(-20,35)
down()
forward(40)
left(120)
forward(40)
left(120)
forward(40)
up()
goto(-40,70)
down()
forward(40)
left(120)
forward(40)
left(120)
forward(40)
up()
goto(0,70)
down()
forward(40)
left(120)
forward(40)
left(120)
forward(40)