• Предмет: Информатика
  • Автор: Annapl3
  • Вопрос задан 3 месяца назад

python
Написати програму для роботи простого калькулятора виконання арифметичних дій.

Ответы

Ответ дал: dmitriyxdmitriyx
2

import operator

operators = {

   "+": operator.add,

   "-": operator.sub,

   "*": operator.mul,

   "/": operator.truediv,

}

def calculate(expression: str) -> float:

   # разбиваем выражение на список из чисел и операторов

   tokens = re.findall(r"\d+|\+|-|\*|/", expression)

   # выполняем вычисления в цикле, пока в списке остается больше одного элемента

   while len(tokens) > 1:

       # находим индекс первого оператора в списке

       operator_index = next(i for i, token in enumerate(tokens) if token in operators)

       # вычисляем результат операции и заменяем оператор и операнды в списке на результат

       result = operators[tokens[operator_index]](

           float(tokens[operator_index-1]),

           float(tokens[operator_index+1]),

       )

       tokens = tokens[:operator_index-1] + [result] + tokens[operator_index+2:]

   # возвращаем оставшийся элемент списка (результат вычислений)

   return tokens[0]

# проверяем работу калькулятора

print(calculate("2 + 3 * 4"))  # должно вывести 14

print(calculate("2 + 7 / 2"))


Annapl3: А чи є якийсь простіший варіант?
Вас заинтересует