Python >
Разработка программных модулей
2024-2025 учебный год
Практические занятия
Практика 18
Использование поведенческих шаблонов
1.
Диалоговые окна в PyQt5.
Изучите примеры и напишите с их помощью программы для создания оконных приложений
посредством библиотеки PyQt5.
-
Перейти.
pythonworld.ru — Диалоговые окна в PyQt5.
2.
Виджеты в PyQt5.
Пример разработки оконного приложения в фреймворке Qt на Python с применением PyQt5.
Напишите программы по примерам.
-
Перейти.
pythonworld.ru — Виджеты в PyQt5.
3.
Класс Surface и метод blit() в PyGame.
Пример разработки оконного приложения в на Python с применением PyGame.
Напишите программы по примерам.
-
Перейти.
younglinux.info — Класс Surface и метод blit() в PyGame.
4.
Класс Rect в PyGame.
Пример разработки оконного приложения в на Python с применением PyGame.
Напишите программы по примерам.
-
Перейти.
younglinux.info — Класс Rect в PyGame.
5.
Изучите примеры библиотеки Robomaster SDK по ссылкам:
https://robomaster-dev.readthedocs.io/en/latest/
https://github.com/dji-sdk/RoboMaster-SDK
https://gitee.com/xitinglin/RoboMaster-SDK
https://github.com/dji-sdk/RoboMaster-SDK/tree/master/examples
https://gitee.com/xitinglin/RoboMaster-SDK/tree/master/examples
-
Перейти.
robomaster-dev.readthedocs.io - RoboMaster Developer Guide documentation
-
Перейти.
github.com - RoboMaster-SDK
-
Перейти.
github.com - RoboMaster-SDK: examples
-
Перейти.
gitee.com - RoboMaster-SDK
-
Перейти.
gitee.com - RoboMaster-SDK: examples
6.
Раскраска зебры.
Создайте класс Zebra с методом which_stripe, который поочередно печатает
фразы "Полоска белая", "Полоска черная" и так далее начиная с фразы "Полоска белая".
Подсказка.
Для отслеживания полосы зебры создайте переменную-счетчик для вашего экземпляра класса.
# Ваш код
# ...
# не изменяйте код ниже, он нужен для проверки
z1 = Zebra()
z1.which_stripe()
z1.which_stripe()
z1.which_stripe()
Тесты
Входные данные:
Выходные данные:
Полоска белая
Полоска черная
Полоска белая
7.
Класс с Массивом 1.
Создайте класс Array, который содержит атрибут values и 3 метода:
1. Инициализатор __init__, который принимает произвольное число аргументов,
фильтрует их с помощью второго метода и сохраняет в values.
2. get_integers, который вызывается из инициализатора, фильтрует все его аргументы
оставляя только числовые, а затем сортирует их по возрастанию и возвращает
в инициализатор в виде списка.
3. Переопределенный метод __str__, который возвращает строку:
"Массив(<Значение1>, <Значение2>, ...)", если массив не пустой,
или строку "Пустой массив", если массив пуст.
# Ваш код
# ...
# не изменяйте код ниже, он нужен для проверки
v1 = Array(1,"Саша",2,"Вася",3)
print(v1) # печатает "Массив(1, 2, 3)"
v2 = Array()
print(v2) # печатает "Пустой массив"
Тесты
Входные данные:
Выходные данные:
Массив(1, 2, 3)
Пустой массив
8.
OpenCV. Treshold. Moments. Написать программу для демонстрации применения HSV-фильтра
для отслеживания координат объекта в кадре видеопотока
с помощью библиотеки компьютерного зрения OpenCV по примеру 13.3 из лекции.
9.
OpenCV. Grid Tracking. Написать программу для осуществления трекинга объекта
посредством HSV-фильтра в кадре видеопотока с помощью библиотеки компьютерного
зрения OpenCV по примеру 14.1 из лекции.
Дополнительные задания
1.
Выполните упражнения из учебника по ссылке:
https://younglinux.info/tkinter/canvas
2.
Выполните упражнения из учебника по ссылке:
https://younglinux.info/tkinter/canvasmeth
-
Перейти.
younglinux.info - Canvas. Идентификаторы, теги и анимация
3.
Выполните задачи из главы 12 «Создание приложений с графическим интерфейсом пользователя»
c. 294 - 300 по учебнику
Сузи, Р. А. Язык программирования Python : учебное пособие / Р. А. Сузи. —
3-е изд. — Москва : Интернет-Университет Информационных Технологий (ИНТУИТ),
Ай Пи Ар Медиа, 2020. — 350 c.
-
Перейти.
Глава 12 «Создание приложений с графическим интерфейсом пользователя», c. 294 - 300.
4.
Выполните задачи из главы 13 «Графика. Модуль Turtle»
c. 190 - 208 по учебнику
Подсадников, А В Основы программирования на языке Python 3 :
учебное пособие / А. В. Подсадников, К. В. Розов, А. В. Русецкий ;
Новосибирский государственный педагогический университет. -
Новосибирск : НГПУ, 2019. - 221 с.
-
Перейти.
Глава 13 «Графика. Модуль Turtle», c. 190 - 208.
5. Выполнить примеры и решить задачи
https://gvard.github.io/py/turtle
6. Выполнить примеры и решить задачи
https://gvard.github.io/py
Домашнее задание
Использование поведенческих шаблонов.
Цепочка обязанностей.
Итератор.
Посредник.
Хранитель.
Наблюдатель.
Состояние.
Стратегия.
Chain of responsibility.
Iterator.
Mediator.
Memento.
Observer.
State.
Strategy.
-
Перейти Стандартный документ «Описание программы»