9.2. Практикум¶
Примечание
При выполнении заданий используйте заготовки решений: ->
Репозиторий.
Подробнее: см. Цикл выполнения и защиты заданий.
9.2.1. Установка и использование модулей/пакетов¶
Примечание
При установке руководствуйтесь разделом в Установка пакетов (pip) в разделе Помощь.
№ 9.2.1
Установите пакет py-romanify, предназначенный для работы с римскими числами, после чего:
введите с клавиатуры 1 римское и 1 арабское число;
выведите на экран результаты операций
+
,-
,*
,//
как арабские и как римские числа.
№ 9.2.2
Установите пакет pyscreenshot, предназначенный для создания скриншотов, используя следующую команду:
pip install Pillow pyscreenshot
Используя функции grab() и save(), создайте и сохраните скриншот рабочего стола.
№ 9.2.3
Для создания приложений с графическим интерфейсом в Python используются отдельные фреймворки/библиотеки/пакеты (см. подробнее). В задании приведен пример создания мини-калькулятора с помощью фреймворка Qt.
Для выполнения задания установите пакет PyQt5:
pip install PyQt5
Изучив код и интерфейс приложения, добавьте кнопки для выполнения действий: -
, *
, /
, //
, %
, изменив соответствующим образом код формирования интерфейса и функцию make_operation()
.
Пример интерфейса приложения приведен на Рисунке 9.2.1.

Рисунок 9.2.1 - Пример интерфейса приложения (ОС Windows 10)¶
№ 9.2.4
В настоящее время широкое распространение получили QR-коды (англ. Quick Response Code— код быстрого реагирования; QR code) - специальные штрихкоды, позволяющие хранить относительно большое количество информации в закодированном виде и быстро ее считывать (Рисунок 9.2.2).

Рисунок 9.2.2 - Пример QR-кода со ссылкой на данный курс¶
В Python также существуют пакеты для работы с QR-кодами, в частности PyQRCode и qreader. Для выполнения задачи установите (пакет qreader
содержится в папке с задачей и не требует установки):
pip install pyqrcode pypng Pillow six python_dateutil reedsolo
Изучив примеры в описании пакетов, реализуйте модуль qr_utils.py
, позволяющий выполнять генерацию и сохранение, а также загрузку QR-кода из файла.
9.2.2. Создание модулей¶
№ 9.2.5
На Рисунке 9.2.3 приведен интерфейс приложения для перевода чисел в различные системы счисления.

Рисунок 9.2.3 - Пример интерфейса приложения (ОС Debian GNU/Linux 9)¶
Используя решение задачи № 5.2.9, завершите реализацию приложения, дополнив модули numeral_systems.py
и main.py
.
№ 9.2.6
Имеется приложение, позволяющее выполнять шифрование/дешифрование текстовых файлов, используя шифр Цезаря (только буквы русского алфавита, знаки препинания не изменяются).
Пример интерфейса приложения приведен на Рисунке 9.2.4.

Рисунок 9.2.4 - Пример интерфейса приложения (ОС Windows 10)¶
Пользователь может:
открыть файл или набрать текст в текстовом поле;
указать сдвиг и выполнить шифрование/дешифрование (при этом содержимое текстового поля изменится);
сохранить результат в файл.
Используя решение задачи № 5.2.11, завершите реализацию приложения, дополнив модули utils.py
и main.py
.
№ 9.2.7
Реализуйте модуль для numbers.py
, позволяющий:
находить НОД и НОК;
определять, является ли число простым;
получать обратное число;
получать корень из числа.
№ 9.2.8
Реализуйте модуль для word_utils.py
, позволяющий:
очистить предложение от знаков препинания;
получить список слов из предложения;
получить количество слов в предложении и самое большое из них;
определять статистику «встречаемости» букв в приложении.
№ 9.2.9
Реализуйте модуль для vector.py
, позволяющий:
создать структуру-вектор;
определить длину вектора;
умножить вектор на число;
найти скалярное произведение векторов;
определить угол между векторами.
№ 9.2.10
Федеральная служба государственной статистики приводит данные о рождаемости и смертности населения 1.
Подготовленный CSV-файл содержит данные за период 1950-2015 гг. для городского и сельского населения:
Год,Родилось,Умерло,Тип
1950,1171250,436792,Городское
1950,1574747,594218,Сельское
...
Реализуйте приложение, позволяющее провести сравнительный анализ показателей рождаемости и смертности с возможностью выбора периодов и типа населения (городское, сельское или любое).
Пример интерфейса приложения приведен на Рисунке 9.2.5.

Рисунок 9.2.5 - Пример интерфейса приложения (ОС macOS Sierra)¶
Примечание
Для визуализации в данной работе используется библиотека matplotlib, подробно рассматриваемая в Главе 12. Сейчас достаточно выполнить ее установку.
- 1
Демография::Федеральная служба государственной статистики. URL: http://www.gks.ru/wps/wcm/connect/rosstat_main/rosstat/ru/statistics/population/demography/