Научный журнал
Научное обозрение. Технические науки
ISSN 2500-0799
ПИ №ФС77-57440

ПРИМЕНЕНИЕ ЯЗЫКА PYTHON ДЛЯ РАЗРАБОТКИ КОНВЕРТЕРА ВАЛЮТ

Ошурков А.Ю. 1 Бужинская Н.В. 1
1 Нижнетагильский государственный социально-педагогический институт (филиал) ФГАОУ ВО «Российский государственный профессионально-педагогический университет»
В связи с усложнением функций программного обеспечения наблюдается интерес к различным языкам программирования. В настоящее время одним из самых популярных языков программирования является Python. Python – это высокоуровневый язык программирования, который может использоваться для решения задач математики, создания программ для распознавания образов, построений нейронных сетей и др. В статье демонстрируется применение данного языка для создания конвертера валют. С помощью данной программы можно ознакомить с курсами трех мировых валют, производить конвертирования из RUS в USD, EUR и CNY. В статье расписаны этапы создания конвертера на языке Python. На этапе проектирования определяются требования к данной программе, определяется набор библиотек и модулей, которые будут применяться в процессе работы. Разработка программы включает несколько этапов. Вначале создается интерфейс посредством PyQt5, затем данный интерфейс компилируется в файл с расширением .py. На втором этапе оформляется код для каждой функции, которые будут вызваны при нажатии на соответствующие кнопки. Актуальный на сегодняшний день курс валют можно получить из Интернета. Для более удобной работы создана база данных, которая хранит информацию о результатах конвертирования. Заключительным этапом работы является тестирование, в процессе которого были выявлены и исправлены ошибки.
программирование
программный продукт
конвертер
база данных
валюта
функция
1. Свейгарт Эл. Учим Python, делая крутые игры. М.: Бомбора, 2018. 416 с.
2. Прохоренок Н., Дронов В. Python 3 и PyQt5. Разработка приложений. СПб.: БХВ-Петербург, 2019. 833 с.
3. Каюмова А.В. Визуальное моделирование систем в StarUML: учебное пособие. Казань: Казанский федеральный университет, 2013. 104 с.
4. Липаев В.В. Программная инженерия сложных заказных программных продуктов: учебное пособие. М.: МАКС ПРЕСС, 2014. 312 с.
5. Карпович Е.Е. Методы тестирования и отладки программного обеспечения. М.: Изд. Дом НИТУ «МИСиС», 2020. 136 с.
6. Правильно пишем тест-кейсы. Памятка начинающему специалисту по тестированию. [Электронный ресурс]. URL: https://victorz.ru/202001101079 (дата обращения: 07.07.2020).

На современном этапе развития общества большой популярностью среди учащихся пользуются различные языки программирования, а также программные продукты, разработанные с их помощью. Одним из самых популярных языков программирования является Python. Python представляет собой высокоуровневый язык программирования, который поддерживает такие парадигмы, как императивное программирование, объектно-ориентированное, функциональное и др. [1]. Целью данного исследования является описание возможностей языка программирования Python как средства разработки программы с пользовательским интерфейсом для конвертации валют с возможностью сохранения истории действий в базе данных SQLite. Выбор данного языка для разработки нашего программного продукта объясняется не только его популярностью. В настоящее время Python активно развивается, появляются его новые версии, улучшаются и добавляются библиотеки и модули [2].

Материалы и методы исследования

В данном исследовании описан процесс реализации программы «Конвертер валют» на языке Python. Тема для разработки была выбрана таким образом, чтобы посмотреть возможности Python с разных точек зрения – работа с базой данных, с информацией в Интернете, создание дизайна.

Процесс работы включал несколько этапов:

– проектирование программного продукта, во время которого были обозначены основные направления работы;

– разработка дизайна конвертера;

– оформление внутренней логики прог- раммы;

– обработка событий;

– создание базы данных для отображения курса валют;

– подготовка файла с расширением .exe;

– оформление необходимой докумен- тации;

– тестирование программы.

Результаты исследования и их обсуждение

На этапе проектирования были определены основные требования к программе (рис. 1) [3].

ohurkov1.tif

Рис. 1. Диаграмма прецедентов

Пользователь вводит необходимую сумму. Если он хочет увидеть курс, актуальный на сегодняшний день, он нажимает кнопку «Получить курс», иначе он выбирает команду «Конвертировать» и получает интересующие его значения. Далее посмотрим процесс разработки программы на языке Python.

Структура программы представлена на рис. 2.

ohurkov2.tif

Рис. 2. Структура программы

В папке Images хранится иконка приложения. Сама база данных db.currency_convert.db хранится в общей папке с проектом, mainWindow_converter.ui интерфейс программы в XVL, который конвертирован в файл mainWindow_converter.py, файл parse_currency.py содержит код для парсинга с официального сайта Google, чтобы собирать актуальную информацию о курсе. В main.py прописана основная логика сайта.

Запустим файл main.py. Появится окно программы. При вводе необходимой суммы в рублях программа переводит ее в другую денежную единицу по курсу на сегодняшний день (рис. 3).

ohurkov3.tif

Рис. 3. Интерфейс программы

ohurkov4.tif

Рис. 4. Список подключаемых библиотек и модулей для реализации программы

Список используемых библиотек и модулей представлен на рис. 4.

Интерфейс программы создавался в PyQt5, с помощью Qt Designer. Для создания интерфейса использовались такие элементы, как groupBox, семь виджетов label, lineEdit, два виджета pushButton.

SQLite предназначена для работы с базой данных, которая отвечает за создание и поддержку базы данных для данного приложения. Библиотека sys предоставляет программисту набор функций, которые предоставляют информацию о том, как работает интерпретатор Python, взаимодействуя с операционной системой. Библиотека typing предназначена для создания аннотаций. Модель datatime предоставляет классы для обработки времени и даты разными способами. В parse_currency находится функция check_currency для получения информации с сайта Google.

На рисунке ниже изображена база данных db.currency_convert.db, которая хранит информацию о дате и времени использования конвертера, сумму в рублях для конвертирования, курс доллара, евро и конвертированные значения по курсам (рис. 5).

ohurkov5.tif

Рис. 5. База данных db.currency_convert.db

ohurkov6.tif

Рис. 6. Подключение к базе данных

ohurkov7.tif

Рис. 7. Запрос к базе данных

ohurkov8.tif

Рис. 8. Реализация функции toFixed

ohurkov9.tif

Рис. 9. Работа с переменной data

ohurkov10.tif

Рис. 10. Выполнение запроса

Далее осуществлялось подключение к базе данных (рис. 6). Если подключение завершилось с ошибкой, программа сигнализирует об этом с помощью исключения Try Except.

Затем выполняется запрос, согласно которому о переменной currencys присваивается кортеж последней записи в базе данных. Переменные получают значения актуального на сегодняшний день курса валют (рис. 7).

На рис. 8 продемонстрировано, что функция toFixed на входе получает число типа float (переменная numObj) и количество знаков после запятой (переменная digits). На выходе получаем число типа str с количеством знаков после запятой, которое было указано.

В переменную data присваивается кортеж с данными, которые нужно внести в базу данных (рис. 9).

На рис. 10 продемонстрирован пример запроса на добавление данных из переменной data в базу данных.

Затем функция на вход получает ссылку на источник с актуальным на сегодняшний день курсом, затем отправляет запрос, получает HTML-файл, обрабатывает его и возвращает курс валюты. Реализация функции на языке Python представлена на рис. 11.

ohurkov11.tif

Рис. 11. Реализация функции

ohurkov12.tif

Рис. 12. Проверка введенных пользователем данных

Кроме того, для данной функции была написана проверка, чтобы пользователь вводил только числовые значения. Если пользователь введет символ, отличный от числового значения, программа выдает ошибку. Реализация функции представлена на рис. 12.

На заключительном этапе работы было оформлено «Руководство пользователя» и проведено тестирование программы. Тестирование направлено на решение двух важнейших задач. С одной стороны, разработчику нужно показать, что программа удовлетворяет заданным требованиям к ней, а с другой – исправить все ошибки, которые были обнаружены во время внедрения программы [4; 5]. Результаты тестирование программы представлены в табл. 1–2 [6].

Таблица 1

Результаты тестирования программы. Тест-кейс № 1. Корректный

Номер

1

Заголовок

Перевод нужной суммы в рублях в другую денежную единицу

Предусловие

Программа запущена. Открыто главное окно программы. На ПК есть доступ в Интернет

Шаг

Ожидаемый результат

Ввести нужную сумму в поле «Рубли». Вводить только цифры

Ввод успешен

Нажать на кнопку «Конвертировать»

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

Нажать на кнопку «Получить курс»

Программа выдает курс, актуальный на данном этапе

Таблица 2

Результаты тестирования программы. Тест-кейс № 2. Некорректный

Номер

2

Заголовок

Перевод нужной суммы в рублях в другую денежную единицу

Предусловие

Программа запущена. Открыто главное окно программы. На ПК есть доступ в Интернет

Шаг

Ожидаемый результат

Ввести нужную сумму в поле «Рубли». Вводить любую последовательность символов

Программа выдает сообщение об ошибке.

Кнопки «Конвертировать» и «Получить курс» не активны

Заключение

Данная программа может использоваться в качестве демонстрационной для объяснения обучаемым основных возможностей языка Python, а именно:

– установка различных библиотек через командную строку;

– создание базы данных и запросов к ней с помощью SQLite;

– получение нужной информации с различных сайтов;

– разработка интерфейса с помощью PyQt;

– перекомпилирование файла c расширением .ui в расширение .py.

В дальнейшем планируется добавить в данную программу визуальное отображение курсов валют с помощью библиотеки Matpolib.


Библиографическая ссылка

Ошурков А.Ю., Бужинская Н.В. ПРИМЕНЕНИЕ ЯЗЫКА PYTHON ДЛЯ РАЗРАБОТКИ КОНВЕРТЕРА ВАЛЮТ // Научное обозрение. Технические науки. – 2020. – № 5. – С. 21-26;
URL: https://science-engineering.ru/ru/article/view?id=1312 (дата обращения: 29.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674