Предположим, у меня есть стандартная строка Python (например, полученная от raw_input()
), возможно, "2 + 2"
для простоты.Математические операции из строки
Я хотел бы преобразовать эту строку в стандартные математические операции в Python, так что "2 + 2"
вернется 4
.
Есть ли простой способ сделать это, или мне нужно разделить на пространства и разобрать каждый номер/символ вручную, а затем выполнить математику на основе того, что я нахожу?
Нужно ли мне регулярное выражение?
Это домашнее задание? Я думаю, вам придется писать парсер. Вы можете использовать некоторое итеративное или рекурсивное регулярное выражение для обработки парсеров и порядка операций, а затем просто проанализировать и линейно обработать все остальное. –
Ха, я подумал, что кто-то собирается спросить об этом. Да, он занимается домашней работой, но это не то, что вы думаете. Понимаете, я пишу калькулятор геометрии/триггера, чтобы облегчить мою математическую жизнь. (См. Здесь: http: // stackoverflow.com/questions/9624515/basic-trig-math-atan-issue) Я полагаю, что если я достаточно хорошо понимаю проблему, чтобы написать программу, которая может понять это, мне не нужно делать эту работу вручную. :) –
Также рассмотрим SimPy для символической математики. – Benjamin