Первым шагом необходимо создать проект (изображение 6) который будет являться основой для работы в PyCharm.

Изображение 6 – Окно создания проекта в PyCharm.
После создания проекта в папке проекта необходимо создать файл с расширение .py в котором и будет записан весь код. В данном случае это будет файл calculator.py (Изображение 7).

Изображение 7 – Создание файла с расширением .py.
После создания файла приступим непосредственно к разработке, в первую очередь необходимо импортировать и настроить библиотеки tkinter и ttkthemes для создания “черновика” графического интерфейса приложения. Tkinter является встроенной библиотекой, для установки ttkthemes нужно использовать команду pip install ttkthemes в терминале Python
Далее используя операторы from и import импортируем библиотеки в текущий проект (изображение 8).

Изображение 8 – Код импорта библиотек.
Затем задаем параметры для окна приложения используя библиотеку ThemedTk (изображение 9). Где root = окно приложения.

Изображение 9 – Код задания параметров для окна приложения.
После задаем параметры размера поля ввода и выведения результата вычислений, где e = поле ввода чисел (изображение 10).

Изображение 10 – Код размера поля ввода и выведения результата вычислений.
Далее используя оператор def и button_click делаем возможным выведение результата выражения в поле ввода (изображение 11) STR значений. Также здесь используются объекты e.delete и e.insert которые будут описаны далее.

Изображение 11 – Код задания условия поля ввода и выведения результата вычислений.
Далее используя def задаем кнопку очистки поля ввода (изображение 12).

Изображение 12 – Код кнопки очистки поля.
Далее используя оператор def и глобальные переменные f_num и math, задаем значения кнопок математических действий плюс, минус, умножить, разделить (изображение 13)

Изображение 13 – Код кнопок плюс, минус, умножить, разделить.
Далее используя оператор if и def задаем условия для выведения ответа на экран при нажатии кнопки равно (изображение 14).

Изображение 14 – Код кнопки равно.
Далее задаем для каждой кнопки текстовое значение и функцию кнопки которое в последствие будет использовано пользователя для идентификации каждой кнопки (изображение 15)

Изображение 15 – Код задания кнопкам текстовых значений.
Далее используя гридовую систему выводим кнопки на экран как графические элементы (изображение 16).

Изображение 16 – Код вывода кнопок как графических элементов.
Затем добавляем строку для создания петли выполнения кода, чтобы приложение автоматически не закрывалось (изображение 17).

Изображение 17 – Код создание цикла работы приложения.
После завершения написания кода необходимо сохранить файл .py, затем открыть терминал Python и ввести $ pip install auto-py-to-exe, что позволит установить конвертер из .py в формат .exe. После установки конвертера, используя терминал ввести python -m auto_py_to_exe, данная команда откроет окно Auto Py To Exe, выполнить настройку (изображение 18), по нажатию кнопки Convert to exe программа произведет конвертацию файла в формат .exe и откроет папку с данным файлом (изображение 19).

Изображение 18 – Настройка Auto Py to Exe.
Изображение 19 – Содержание папки с .exe файлом.
При открытии файла приложение имеет вид, продемонстрированный на изображение 20. Данный файл может быть распространен отдельно и не требует каких-либо предустановленных приложений или интерпретаторов. Также в приложение 1 предоставлена ссылка на Github с полным кодом приложения и .exe файлом для запуска приложения.

Изображение 20 – GUI приложения «Калькулятор “МОИ”»
Рассмотрим результаты работы целью которой являлось углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере на примере создание калькулятора на языке Python для выполнения простейших математических вычислений. В ходе выполнения работы была изучена теоретическая база языков программирования их история, виды, принципы работы, была подробно изучена парадигма объектно-ориентированного программирования, подробно изучен и применен язык программирования Python, изучены доступные аналоги приложения, которые послужили основой для составления требований к приложению, было успешно создано портативное приложение калькулятор и описаны шаги решения поставленных задач.
Приложение 1
Исходный код приложения Калькулятор “МОИ”
from tkinter import *
from tkinter import ttk
from ttkthemes import ThemedTk
root = ThemedTk(theme='yaru') # Выбор темы
root.resizable(width=False, height=False) # Блокировка возможности изменения размера
root.title('Калькулятор "МОИ"') # Названия приложения
root.iconbitmap('C:/Users/petyhov/Desktop/CALCULATOR/calculator.ico') # Иконка приложения
e = ttk.Entry(root, width=48,) # Поле ввода чисел
e.grid(row=0, column=0, columnspan=4, padx=4, pady=4)
e.focus_set() #Фокусировка в поле ввода чисел
# Введение цифр в поле
def button_click(number):
current = e.get()
e.delete(0, END)
e.insert(0, str(current) + str(number)) # выводить STR значения чесел
# Комманда для очистки поля
def button_clear():
e.delete(0, END)
# Кнопка плюс
def button_plus():
first_number = e.get()
global f_num
global math
math = "плюс"
f_num = int(first_number)
e.delete(0, END)
# Кнопка минус
def button_minus():
first_number = e.get()
global f_num
global math
math = "минус"
f_num = int(first_number)
e.delete(0, END)
# Кнопка умножить
def button_multiply():
first_number = e.get()
global f_num
global math
math = "умножить"
f_num = int(first_number)
e.delete(0, END)
# Кнопка разделить
def button_divide():
first_number = e.get()
global f_num
global math
math = "делить"
f_num = int(first_number)
e.delete(0, END)
# кнопка равно
def button_equal():
second_number = e.get()
e.delete(0, END)
if math == 'плюс':