моя ситуация выглядит следующим образом:Python скомпилировал eval?
- У меня есть большой стол, как объект, который доступен с ключом строки и целого индекса; то есть поиск выглядит следующим образом:
value = table.get("Key", index)
. - Я хотел бы дать пользователю возможность ввести произвольное алгебраическое выражение, содержащее строковые ключи. Кодовый код затем должен перебирать второй индекс и повторно оценивать выражение.
Таким образом, для ввода данных пользователя, как это: "KeyA + 2*math.abs(KeyC)"
Я хотел бы запустить Python код напоминающим:
for index in index_list:
answer = table.get("KeyA", index) + 2*math.abs(table.get("Keyc",index))
Я предполагаю, что можно разобрать выражение, используя одну из библиотек Python Parser я нашел в Интернете, но мне никоим образом не ясно, как на самом деле «запустить» анализируемый код. Какие-либо предложения?
Я думаю, что с этим что-то не так, вы продолжаете присваивать результаты одной и той же переменной. – smeso
Если вы ввели синтаксический код в действительный код python, вы можете использовать eval() – M4rtini
Ну, я подумал об eval(), но я хотел бы сделать цикл по второму индексу на «снаружи». – user422005