Я пытаюсь сложить, вычесть или умножить два целых числа на основе знака между целыми числами, как в 5 + 6
. Когда я явно использую + в скрипте, это работает. Однако я sh хочу проанализировать этот оператор из заданной строки, чтобы использовать как int(numbers[0]) + operator + int(numbers[1])
или что-то подобное, что работает.
Я пробовал с:
import re
str_number = "5 + 6"
numbers = re.findall('[0-9]+', str_number)
operator = re.findall('([^\s\d]+?)',str_number)[0]
result = int(numbers[0]) + operator + int(numbers[1])
print(result)
Когда я запускаю вышеупомянутое, я получаю ошибку ниже:
result = int(numbers[0]) + operator + int(numbers[1])
TypeError: unsupported operand type(s) for +: 'int' and 'str'