Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 24(320)

Рубрика журнала: Педагогика

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5

Библиографическое описание:
Гроховский В.И. ОБУЧЕНИЕ БАЗОВЫМ КОНСТРУКЦИЯМ ПРОГРАММИРОВАНИЯ НА PYTHON ЧЕРЕЗ ВИЗУАЛИЗАЦИЮ С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ PILLOW // Студенческий: электрон. научн. журн. 2025. № 24(320). URL: https://sibac.info/journal/student/320/382125 (дата обращения: 30.07.2025).

ОБУЧЕНИЕ БАЗОВЫМ КОНСТРУКЦИЯМ ПРОГРАММИРОВАНИЯ НА PYTHON ЧЕРЕЗ ВИЗУАЛИЗАЦИЮ С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ PILLOW

Гроховский Вадим Ильич

студент, Колледж развития инновационных технологий,

РФ, г. Москва

АННОТАЦИЯ

В статье описан метод преподавания основ программирования на языке Python с применением визуализации через библиотеку Pillow. Рассматриваются особенности восприятия базовых конструкций (ветвлений, циклов) в различных возрастных группах. Приводятся примеры кода и обсуждаются темы, которые могут быть дополнительно затронуты в процессе обучения.

ABSTRACT

The article describes a method of teaching Python programming basics using visualization with the Pillow library. It examines how students of different age groups perceive programming structures such as conditionals and loops. Code examples are provided along with a discussion of related educational topics.

 

Ключевые слова: Python, программирование, визуализация, обучение, цикл, условие, Pillow.

Keywords: Python, programming, visualization, education, loop, condition, Pillow.

 

Введение

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

В языке программирования python мы говорим про конструкции if, elif, else, как основные элементы ветвлений и циклы while и for.

Сложности с освоением этих конструкций встречаются в разных возрастных группах.

Для детей в возрасте 10 – 14 лет (3 – 7 класс), основная сложность в отсутствии визуального подкрепления написанного кода. Цифры и буквы, возникающие в окне вывода результата программы, могут захватить внимание и удержать интерес, только у сильно мотивированных учеников.

В возрасте 14 - 25 лет ученики хотят быстрее получить результаты своих усилий и белый шрифт на черном фоне (вывод результата в терминал), для них мало значимая награда за усилия. Сайты, боты, игры, вот их планка, они пытаются проскочить базовые концепции в погоне за быстрым результатом. В связке с современными технологиями и особенно после появления искусственного интеллекта и больших лингвистических моделей (chat GPT и аналоги), базовый вывод результата работы программы в виде текста не имеет такого веса и не будоражит умы учеников, как это было 10 – 20 лет назад.

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

Подход описанный в данной статье был опробован на всех представленных возрастных группах и имел положительный результат.

Установка библиотеки

Библиотека Pillow не входит в набор стандартных библиотек языка программирования Python.

Для установки библиотеки используем стандартный пакетный менеджер pip.

pip install pillow

Минимальная программа

Пример минимальной программы для создания простого изображения.

from PIL import Image, ImageDraw

# Создание нового изображения

width = 20

lenght = 20

img = Image.new('RGB', (width, lenght), color=(255, 255, 255))

draw = ImageDraw.Draw(img)

# Рисование точки

draw.point((10, 10), fill=(255, 0, 0))

# Покажет полученное изображение

img.show()

# Сохранить полученное изображение

img.save('result.jpg')

img.save('result.png')

Если Вы, уважаемый читатель, знаком с языком программирования python, то можете заметить, что в представленном фрагменте кода, практически нет конструкций языка из базового python, все инструкции кроме import относятся к библиотеке pillow. Спешу Вас заверить, что благодаря хорошему проектированию и адекватной логике названий, элементы библиотеки воспринимаются достаточно легко.

Уже на данном примере у нас появляется возможность рассказать про цветовую палитру RGB и цифровое кодирование цвета 0 – 255 для задания интенсивности R - красный, G - зеленый, B - голубой и наглядно показать отличие форматов png (рис. 1) и jpg (рис. 2).

 

   

Рисунок 1. Точка в формате PNG    Рисунок 2. Точка в формате JPG

 

Дополним прошлый код и перейдем к визуализации работы циклов.

# Создание нового изображения

width = 20

lenght = 20

img = Image.new('RGB', (width, lenght), color=(255, 255, 255))

draw = ImageDraw.Draw(img)

# Рисование линии

for x in range(start, stop):

  draw.point((x, 10), fill=(255, 0, 0))

# Покажет полученное изображение

img.show()

# Сохранить полученное изображение

img.save('result.png')

В данном примере взамен точки в центре, как в прошлом примере, мы уже получим линию (рис. 3). Длину и позицию линии можно контрольровать параметрами функции range(start, stop) и рунктирную линию если добавить step.

 

Рисунок 3. Линия в формате PNG

 

Добавим дополнительный цикл for.

for x in range(start, stop):

  for y in range(start, stop):

           draw.point((x, y), fill=(255, 0, 0))

 

Теперь взамен линии мы можем получи четырехугольник (рис. 4) любой формы.

 

Рисунок 4. Четырех угольник в формате PNG

 

После последнего дополнения, у нас появится возможность эксперементов с разными условиями.

from PIL import Image, ImageDraw

width = 100

lenght = 100

img = Image.new('RGB', (width, lenght), color=(255, 255, 255))

draw = ImageDraw.Draw(img)

for x in range(start, stop):

  for y in range(start, stop):

           if x % 2 == 0:

                     draw.point((x, y), fill=(255, 0, 0))

img.save('result.png')

Заключение.

Данный подход, позволяет наглядно показать работу основных конструкций, что повышает вовлеченность учеников в процесс обучения.

Для преподавателей открывает большой спектр тем для обсуждения:

  1. Понятие алгорит и программа;
  2. Пиксель;
  3. RGB палитра и кодирование цвета;
  4. Отличие форматов цифровых изображений;
  5. Системы счисления, почему RGB от 0 – 255;
  6. Работа с циклами. Цикл for можно заменить на while;
  7. Ветвление if, elif, else;
  8. Импорт дополнительных библиотек;
  9. Классы и методы, начальный уровень.

Это только часть списка тем, за которые может зацепится опытный преподаватель.

 

Список литературы:

  1. Лутц М. Изучаем Python. 5-е изд. СПб.: Символ-Плюс, 2017. – 1216 с.
  2. Официальная документация Pillow [Электронный ресурс]. – Режим доступа: https://pillow.readthedocs.io/

Оставить комментарий