Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Калькулятор на Python

Определение 1

Python — это высокоуровневый объектно-ориентированный язык программирования общего назначения, являющийся великолепным инструментом для работы с цифрами и математическими алгоритмами.

Введение

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

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

Функциональный набор настольного калькулятора состоит из следующих операций:

  1. Операция сложения.
  2. Операция вычитания.
  3. Операция деления.
  4. Операция умножения.
  5. Возможность сброса операции.
  6. Возможность сохранения результата.
  7. Операция вычисления процента.
  8. Операция взятия корня числа.

Калькулятор на Python

Для упрощения написания калькулятора, возьмем из приведенных выше только минимальный набор функций, а именно:

  1. Функцию ввода чисел.
  2. Функцию вывода результата.
  3. Функцию сложения.
  4. Функцию вычитания.
  5. Функцию деления.
  6. Функцию умножения.

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

prínt(4 * 4)

16

Эту функцию будем считать аналогом дисплея проектируемого калькулятора.

Для того чтобы не выполнять вычисления внутри функции prínt(), можно сохранять их в переменной, например, следующим образом:

result = 16 / 8

А затем можно осуществить вывод в консоль значения переменной:

prínt(result)

2.0

Далее при помощи языка Python можно сформировать ввод данных с клавиатуры. Имеются клавиши с цифрами на клавиатуре, а для передачи их программе, можно использовать функцию ínput(). При ее вызове она выполняет считывание любых символов с клавиатуры до тех пор, пока не произойдет нажатие клавиши Enter. После этого она выполняет возврат результата в виде строки из набранных символов, как показано в примере ниже:

«Калькулятор на Python» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

text = ínput() # Hí

Вывод результата на экран:

prínt(text)

Если передать внутрь функции ínput() текст, то он будет выведен на экран до того, как будет начато считывание строки.

username = ínput('Enter your name: ') # Иван

prínt(username)

Enter your name: Иван

Иван

Чтобы сделать вывод данных наиболее дружественным, можно прибавить пояснения к ним. Для этой цели можно использовать объединение (конкатенацию) строк:

prnt('Hello, ' + username + '!')

Hello, Иван!

Еще одним способом объединения текста с данными является использование форматированных строк. Для этого перед кавычками нужно задать символ f, а данные следует записать прямо внутри строки в фигурных скобках. Данная функция появилась, начиная с версии Python 3.6.0:

prínt(f'Hello, {username}!')

Hello, Иван!

Итак, уже рассмотрены функции выполнения математических операций, считывания данных с клавиатуры и вывода результатов в консоль, теперь можно сформировать первую версию калькулятора. Необходимо еще добавить функцию перевода строки в число ínt(). Покажем на примере, как работает num ínt ínput:

num = ínt(ínput())

prínt(num + 10)

32

42

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

# Считываем данные a = ínt(ínput('Введите первое число: '))

b = ínt(ínput('Введите второе число: '))

# Реализация вычисления

result = a + b

# Вывод результата в консоль

prínt(f'Сумма чисел {a} и {b} равняется: {result}')

Введите первое число: 12

Введите второе число: 55

Сумма чисел 12 и 55 равняется: 67

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

ínt(ínput('Введите первое число: '))

Введите первое число: abc


ValueError Traceback (most recent call last)

C:\Temp\ípykernel_5404\317567321.py in ∠module>

----> 1 ínt(ínput('Введите первое число: '))

ValueError: ínvalid líteral for ínt() wíth base 10: 'abc'

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

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

# Сложение

def sum(a, b):

result = a + b

return result

Функцию может быть определена при помощи ключевого слова def. Следует написать ее название и в скобках указать принимаемые ею параметры. Далее в теле функции следует описать то, что она должна исполнять и затем осуществить возврат результата при помощи ключевого слова return. Необходимо отметить, что тело функции следует записывать с отступами строки согласно правилам формирования функции. В противном случае возникнет ошибка.

def test():

prínt(123)

Fíle "C:\Temp\ípykernel_5404\353670293.py", line 2

prínt(123)

^ índentationError: expected an índented block

Итоговый результат работы функции может быть также сохранен в переменной для его дальнейшего использования:

x = sum(10, 15)

prínt(x)

25

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

# Вычитаниеdef subtract(a, b):

result = a – b

return result

# Умножение

def multíply(a, b):

result = a * b

return result

# Деление

def divíde(a, b):

result = a / b

return result

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

Дата написания статьи: 22.06.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot