простой калькулятор на python код

Калькулятор

Многие программисты стараются изучать языки программирования с помощью написания достаточно простых программ. Один из вариантов – написание калькулятора. Конечно, можно посчитать в отладчике Python или запустив консоль. Но гораздо лучше написать на python свой калькулятор с графическим интерфейсом.

Считаем в консоле

Чтобы посчитать математические выражения можно запустить консоль. Запустить python. После этого набираем математические выражения и получаем ответ. Для этого даже не надо уметь программировать.

13

Делаем простой калькулятор

Лучше всего закреплять свои знания по программированию с помощью написания простых программ. Таких приложений можно придумать много – календарь, программа для хранения заметок, получение прогноза погоды.

14Можно написать программу, которая делает скриншоты и сохраняет полученные изображения в папку. В любом случае, надо выбрать какое-нибудь не сложное задание, чтобы не закопаться в нем. Потом его можно будет расширить и сделать по-настоящему полезное приложение.

В нашем случае мы разберем, как создать простой графический калькулятор на Python 3. Для реализации графического интерфейса воспользуемся стандартным пакетом Tkinter. Он входит в состав Python 3. Соответственно, если у вас установлен Python, то дополнительно не надо ничего устанавливать.

В первых строках файла calculator.py подключаем библиотечные функции:

Импорт библиотек и исходные данные

Создаем окно приложения — объект Tk с заголовком Calculator. Во вложенном кортеже buttons будут храниться обозначения для кнопок. В список stack будем добавлять введенные числа и операции, которые надо совершить. activeStr предназначен для хранения набираемого числа.

Вычисление результата

Функция calculate получает из списка stack операнды и операцию которую над ними надо произвести. Результат отображается в надписи label. Получать из списка строки будем с помощью метода pop.

Обработка нажатия

В функции click выполняется обработка нажатой клавиши. В качестве ее аргумента передается текст, отображаемый на кнопке, которую нажали. Хотелось бы хранить вводимое значение прямо в надписи, а не создавать для этого отдельную переменную. Но так не получается из-за алгоритма работы. После того как посчитан результат, он записывается в надписи. При попытке после этого начать вводить новое число, оно бы дописывало прежний результат.

В списке с операторами и командами для калькулятора не обязательно их будет 3. Но при обработке с помощью метода pop, будут рассматриваться 3 последних введенных значения. А после проведения расчета список очистится. Далее в него добавляется полученный результат, на случай если пользователь нажмет на калькуляторе клавишу операции сразу, а не будет вводить новое число.

Внешний вид

Теперь займемся оформлением внешнего вида калькулятора и зададим обработку нажатия кнопок. Создаем надпись для вывода набираемых значений и результатов. В цикле создаем кнопки. Расположение кнопок и надписи осуществляется в табличном виде с помощью упаковщика grid. И в завершении запускаем цикл обработки событий mainloop.

У надписи выставлена ширина 35, для того, чтобы оформление кнопок подстраивалось под надпись. И в результате кнопки при этом значении лучше выглядят.

Для того, чтобы кнопки правильно работали, пришлось для каждой из кнопок создать свою функцию с помощью lambda.

По аналогии приведенного кода python калькулятора можно сдель, допустим, календарь. Для этого надо будет запрашивать текущую дату у операционной системы. Открывать нужный месяц, рассчитывать какие числа выпадут на понедельники, какой год високосный. Сделать возможность менять год и месяцы.

Источник

Простой калькулятор на Python

%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80 %D0%BD%D0%B0 Python 1

В этой статье мы разберём самый простой калькулятор на языке программирования Python, тут стоит сказать, что эта статья подойдёт совсем новичкам, так как сделаем обычный консольный калькулятор, профессиональным или просто опытным она не нужна.

Ещё можете посмотреть статью «Парсер страниц на Python», тоже очень полезна новичкам.

Консольный калькулятор на Python:

Как говорилось выше, мы сделаем легкий калькулятор на Python, и для этого нам нужно создать только один Python файл, я его назову «main.py».

Внутри него создадим функцию которая будет за всё отвечать, вот примерно так:

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

Потом запускаем бесконечный цикл и в нём даём выбрать действие, тут как обычно, то есть, если выбираем знак плюса, то будем складывать и т.д..

После идёт проверка команд, если выбрать кнопку «q», то выходим из программы, если же это арифметический знак, то вводим два числа, кладём их в переменные в формате числа с плавающей точкой.

Потом проверяем конкретный знак, зависимо от него и делаем действии, выводим на экран, самое интересное это с делением, мы делаем проверку, если делитель, то есть «y», равен нулю то тогда не будем делить.

Читайте также:  кьюар код в москве коронавирус

Последние что осталось это объявить переменную, вот:

Источник

Python Calculator Простая программа

Python Calculator, простой калькулятор в Python, код калькулятора Python, как сделать калькулятор в Python, программа калькулятора в Python, Python Multiply Numbers, Python Division, Python Doction, функции Python Calculator.

Python Calculator

В этом быстром посте мы увидим, как мы можем создать очень простой программа Python Calculator. Мы будем вклад от пользователя о операции, которую он хочет выполнить и показать результат на его основе. Давайте начнем с нашим кодом калькулятора Python прямо сейчас.

Модульный код

Сохранять вещи модульными, мы определим функции для выполнения различных операций. Вот операции наш калькулятор будет поддерживать номера:

Добавление

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

Мы использовали простую функцию, чтобы наш код оставался модульным.

Вычитание

Вторая операция включает в себя вычитание двух чисел:

Умножение

Третья операция включает умножение двух чисел:

Разделение

Четвертая операция включает в себя разделить два числа:

Поднимая силу на номер

Наша окончательная операция включает в себя повышение количества мощью. Обратите внимание, что сделать это, мы можем использовать математический оператор ** :

Принимая пользовательский ввод

Время подарить пользователю доступным вариантом и принимая вход от него:

Решение операции

Наконец, мы можем решить, какую функцию звонить, когда пользователь предоставил вход:

Когда мы запускаем эту программу, мы сможем выполнять математические операции:

Заключение

В этом быстром посте мы определили очень простой калькулятор Python и сохранили код модуля, так что мы можем повторно использовать функции соответственно.

Источник

Простой GUI калькулятор на Python #1. Создание дизайна приложения

image loader

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

image loader

Мы будем использовать язык Python, фреймворк Qt, библиотеку PySide6, сразу установим её:

pip install PySide6

Создавать интерфейс мы будем в приложении Qt Designer. Его можно скачать отдельно или найти в папке установленного PySide. Для этого перейдем по пути:

Создаем Main Window, т.е. главное окно приложения.

image loader

Сразу убираем ненужные меню и статус бары.

image loader

Название приложения можно изменить в свойстве главного окна windowTitle.

image loader

Перетащим нужные элементы в интерфейс. В нашем калькуляторе будет поле ввода Line Edit.

image loader

Label с временным выражением над этим полем ввода.

image loader

Grid Layout для кнопок.

image loader

Просто закинем эти элементы и выберем «Lay Out Vertically» для центрального виджета.

image loader

Теперь закинем кнопки в Grid Layout, у меня будет 4 колонки и 5 рядов. Чтобы скопировать и вставить элемент, можно перетащить его с зажатой клавишей Ctrl.

image loader

Поставим текст во все кнопки. Для Backspace мы позже поставим иконку.

image loader

Проставим горячие клавиши для всех кнопок, кроме Clear и отрицания. За это отвечает свойство shortcut. К сожалению, в Qt Designer нельзя указать несколько горячих клавиш для одной кнопки. Мы сделаем это позже в коде (для точки и равно).

image loader

Запишем 0 в Line Edit и выберем правое горизонтальное выравнивание для текста.

image loader

Нам нужно сделать так, чтобы пользователь не мог вводить что попало в это поле, чтобы он мог его только читать. Для этого существует свойство ReadOnly.

image loader

Укажем максимальную длину в 16 символов, как в калькуляторе Windows.

image loader

Запишем в лейбл какое-нибудь выражение и поставим правое выравнивание.

image loader

Чтобы посмотреть превью дизайна используйте сочетание клавиш Ctrl + R.

image loader

Давайте назовем элементы, чтобы в коде было проще обращаться к ним.

image loader

Вы спросите: «Почему интерфейс так плохо выглядит?». Все потому, что у элементов не настроена вертикальная политика. Для лейбла и поля поставим Maximum.

Конечно же не забываем сохранить файл интерфейса. Он имеет расширение ui. Обычно я называю файл design.

image loader

Для всех кнопок поставим Expanding.

image loader

Приступаем к стилизации калькулятора. Сначала нужно определиться с цветовой палитрой. Я буду использовать 4 цвета:

Почти черный #121212 для фона.

Белый #FFF для текста кнопок и поля ввода.

Серый #666 для фона кнопок при наведении.

Серый посветлее #888 для текста временного выражения и фона кнопок при нажатии.

В Qt Designer поддерживается язык css. Напишем простенький stylesheet для главного окна. Для всего виджета указываем белый цвет текста и почти черный цвет #121212 для фона.

Я буду использовать бесплатный шрифт Rubik из библиотеки Google Fonts. Он довольно приятный.

Давайте посмотрим, что получается.

image loader image loader

Давайте изменим кнопки на плоские с прозрачным фоном.

Теперь напишем изменение фона кнопок при наведении и нажатии. При наведении цвет фона будет меняться на серый #666, при нажатии на серый #888.

Посмотрим на результат.

image loader

Теперь разберемся с Line Edit. Поставим размер шрифта 40pt и уберем границы. Я не буду делать какие-то изменения при наведении и нажатии, потому что пользователь не может взаимодействовать с этим полем.

image loader

Для лейбла укажем только цвет #888. С этим элементом пользователь тоже не может взаимодействовать.

Читайте также:  коды оквэд для инфобизнеса

image loader

Теперь зайдем на Google Icons и возьмем черную иконку калькулятора и белую иконку backspace. Я возьму Sharp иконки с размером 24 пикселя. Сохранить нужно в формате PNG.

image loader image loader

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

Создадим файл ресурсов. Resource Browser > Edit Resources > New Resource File.

image loader image loader image loader

Добавим префикс для иконок.

image loader

Закинем туда наши две иконки.

image loader

Поставим иконку Backspace с помощью свойства icon > choose Resource.

image loader

Поставим размер 24 x 24 пикселя в свойстве iconSize.

image loader

То же самое проделаем для иконки приложения.

image loader

Почти готово. Убираем текст из лейбла. Ставим размер главного окна. У меня будет 300 на 500 пикселей. Такой же размер поставлю минимальным для приложения.

image loader

image loader image loader

Файл интерфейса представляет собой файл с xml разметкой. Мы можем найти блок кода с указывающей рукой, введя в поиске по коду «Pointing».

image loader

Заметим, что этот блок кода идет после блока размерной политики. Поэтому нам нужно заменить

В современных редакторах это сделать очень просто. Например, в VS Code нужно нажать Ctrl + H.

Впишем нужные блоки кода и нажмем Replace All (Ctrl + Alt + Enter).

image loader

Проверяем в дизайне.

image loader

Дизайн сделан, поздравляю!

Для начала нам нужно конвертировать файл ресурсов в питоновский файл. Для этого напишем в терминале:

pyside6-rcc «название файла ресурсов» > «название Python файла на выходе»

pyside6-rcc files.qrc > files_rc.py

image loader

Теперь конвертируем в Python файл интерфейса. Для этого введем в терминал тот же самый синтаксис, но теперь используем pyside6-uic:

pyside6-uic design.ui > design.py

image loader

Если у вас на выходе получаются файлы с кодировкой UTF-16, конвертируйте их в UTF-8 во избежание дальнейших проблем.

image loader image loader

Штош, в следующей статье напишем код для главного функционала калькулятора. До встречи.

Источник

Написание простейшего калькулятора в Python 3

Язык программирования Python является отличным инструментом для обработки чисел и математических выражений. На основе этого качества можно создавать полезные программы.

В данном руководстве вам предлагается полезное упражнение: попробуйте написать простую программу командной строки для выполнения вычислений. Итак, в данном руководстве вы научитесь создавать простейший калькулятор в Python 3.

В руководстве используются математические операторы, переменные, условные выражения, функции.

Требования

Для выполнения руководства нужно установить Python 3 на локальную машину и развернуть среду разработки. Все необходимые инструкции можно найти здесь:

1: Строка ввода

Для начала нужно написать строку ввода, с помощью которой пользователи смогут вводить данные для вычислений в калькуляторе.

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

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

number_1 = input(‘Enter your first number: ‘)
number_2 = input(‘Enter your second number: ‘)

Прежде чем запустить программу, сохраните файл. К примеру, назовём программу calculator.py. теперь можно запустить программу в окне терминала в среде разработки с помощью команды:

Программа предложит вам ввести два числа:

Enter your first number: 5
Enter your second number: 7

На данный момент калькулятор принимает любые входные данные, не ограничиваясь числами: слова, символы, пробелы, даже enter. Это происходит потому, что функция input() принимает данные как строки и не знает, что в данном случае нужны только числа.

Чтобы программа могла выполнять математические вычисления, она не должна принимать никаких данных, кроме чисел.

В зависимости от предназначения калькулятора, программа может преобразовывать строки функции input() в целые числа или в числа с плавающей точкой. В данном случае целые числа подходят больше. Функцию input() нужно передать внутри функции int(), чтобы преобразовать ввод в целое число.

Читайте также:

number_1 = int(input(‘Enter your first number: ‘))
number_2 = int(input(‘Enter your second number: ‘))

Теперь попробуйте ввести два целых числа:

Enter your first number: 23
Enter your second number: 674

Все работает без ошибок. Однако если вы введёте символы, пробелы или буквы, программа вернёт ошибку:

Enter your first number: hello
Traceback (most recent call last):
File «testing.py», line 1, in
number_1 = int(input(‘Enter your first number: ‘))
ValueError: invalid literal for int() with base 10: ‘hello’

Итак, вы написали строку для ввода данных в программу.

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

2: Добавление операторов

Теперь нужно добавить четыре базовых оператора: + (сложение), – (вычитание), * (умножение) и / (деление).

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

Сначала добавьте оператор сложения. Поместите два числа в print, чтобы калькулятор отображал результат.

number_1 = int(input(‘Enter your first number: ‘))
number_2 = int(input(‘Enter your second number: ‘))
print(number_1 + number_2)

Запустите программу и попробуйте сложить два числа:

Enter your first number: 8
Enter your second number: 3
11

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

number_1 = int(input(‘Enter your first number: ‘))
number_2 = int(input(‘Enter your second number: ‘))
print(‘<> + <> = ‘.format(number_1, number_2))
print(number_1 + number_2)

Читайте также:  люка арт леди баг

Снова запустите программу и попробуйте ввести какие-нибудь числа:

Enter your first number: 90
Enter your second number: 717
90 + 717 =
807

Теперь пользователь сможет убедиться, что ввел правильные числа.

На данном этапе можно добавить остальные операторы, используя такой же формат:

3: Добавление условного оператора

Добавьте в начало программы calculator.py небольшое описание с перечнем доступных операций. Выбрав один из операторов, пользователь сообщит программе, что именно ей нужно будет делать.

»’
Please type in the math operation you would like to complete:
+ for addition
— for subtraction
* for multiplication
/ for division
»’

Примечание: На самом деле здесь можно использовать любые символы (например, 1 для сложения, b для вычитания и так далее).

Передайте строку внутри функции input() и присвойте переменную значению ввода (к примеру, это будет переменная operation).

В эту строку пользователь может ввести любой из предложенных символов, но ничего не произойдёт. Чтобы программа работала, нужно добавить условный оператор. Оператор if будет отвечать за сложение, три оператора elif – за остальные операции; оператор else будет возвращать ошибку, если вместо предложенных операторов пользователь ввёл другой символ.

Итак, сначала программа предлагает пользователю ввести символ операции. Затем она запрашивает два числа. После этого она отображает пользовательский ввод и результат вычислений. Например, пользователь вводит *, затем 58 и 40.

Please type in the math operation you would like to complete:
+ for addition
— for subtraction
* for multiplication
/ for division
*
Please enter the first number: 58
Please enter the second number: 40
58 * 40 =
2320

Если же на первый запрос программы пользователь введёт символ %, он получит ошибку.

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

4: Определение функций

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

Создайте ещё одну функцию, состоящую из условных операторов. Этот блок кода позволит пользователю выбрать: продолжить работу с программой или завершить её. В данном случае операторов будет три: один if, один elif и один else для обработки ошибок.

Пусть функция называется again(). Добавьте её в конец блока def calculate():

.
# Определение функции again()
def again():
# Ввод пользователя
calc_again = input(»’
Do you want to calculate again?
Please type Y for YES or N for NO.
»’)
# Если пользователь вводит Y, программа запускает функцию calculate()
if calc_again == ‘Y’:
calculate()
# Если пользователь вводит N, программа попрощается и завершит работу
elif calc_again == ‘N’:
print(‘See you later.’)
# Если пользователь вводит другой символ, программа снова запускает функцию again()
else:
again()
# Вызов calculate()
calculate()

Также можно устранить чувствительность к регистру: буквы y и n должны восприниматься так же, как Y и N. Для этого добавьте функцию строки str.upper():

.
def again():
calc_again = input(»’
Do you want to calculate again?
Please type Y for YES or N for NO.
»’)
# Accept ‘y’ or ‘Y’ by adding str.upper()
if calc_again.upper() == ‘Y’:
calculate()
# Accept ‘n’ or ‘N’ by adding str.upper()
elif calc_again.upper() == ‘N’:
print(‘See you later.’)
else:
again()
.

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

Запустите программу в терминале с помощью команды:

Теперь программу не нужно перезапускать.

5: Дополнительные действия

Написанная вами программа полностью готова к работе. Однако есть ещё много дополнений, которые при желании можно внести в код. Например, вы можете написать приветственное сообщение и добавить его в начало кода:

def welcome():
print(»’
Welcome to Calculator
»’)
.
# Затем нужно вызвать функции
welcome()
calculate()

Также можно добавить в программу больше функций для обработки ошибок. К примеру, программа должна продолжать работу даже если пользователь вводит слово вместо числа. На данный момент это не так: программа выдаст пользователю ошибку и прекратит работу.

Кроме того, если при выборе оператора деления (/) пользователь выбирает знаменатель 0, он должен получить ошибку:

ZeroDivisionError: division by zero

Для этого нужно написать исключение с помощью оператора try … except.

Программа ограничена 4 операторами, но вы можете расширить этот список:

.
operation = input(»’
Please type in the math operation you would like to complete:
+ for addition
— for subtraction
* for multiplication
/ for division
** for power
% for modulo
»’)
.
# Для возведения в степень и обработки модуля нужно добавить в код условные операторы.

Также в программу можно добавить операторы цикла.

Существует много способов для настройки обработки ошибок и улучшения каждого проекта. При этом всегда важно помнить, что не существует единственно правильного способа решить ту или иную проблему.

Заключение

Теперь вы знаете, как написать простейший калькулятор. После выполнения руководства вы можете самостоятельно добавить новые функции программы.

Источник

Поделиться с друзьями
admin
Здоровый образ жизни: советы и рекомендации
Adblock
detector