Мне нужно создать калькулятор в Python.В начале у меня есть строка с числами и словом вроде: str = '5 plus 5'
Я могу сделать это для 2 чисел, но когда строка выглядит следующим образом: hard_str = '5 plus 10 divide 2'
Мне нужно знать, как выполнять вычисления в этом случае.В основном, как Google Voice Assistant делает вычисления, когда я говорю str = '2 minus 20 divide 4'
?
def math (текст):
'' 'текст - это строка типа "22 плюс 5"' ''
ADD = ['+', 'plus',]
SUBTRACT = ['-', 'minus',]
MULTIPLY = ['*', 'multiply', 'x']
DIVIDE = ['/', 'divide',]
expression = text
expression = expression.lower().split()
expression_left = expression[0]
expression_middle = expression[1]
expression_right = expression[2]
answer = None
if expression_middle in ADD:
answer = int(expression_left) + int(expression_right)
if expression_middle in SUBTRACT:
answer = int(expression_left) - int(expression_right)
if expression_middle in MULTIPLY:
answer = int(expression_left) * int(expression_right)
if expression_middle in DIVIDE:
answer = int(expression_left) / float(expression_right)
result = str(answer)
return f'Result of, {text} is {result}'
Работает на 2 номера, что делать если есть 2 + 2 * 50 \ 8 * 3