Преобразование математической записи ASCII в Python

Я принимаю пользовательский ввод в математической нотации ascii и должен оценить этот ввод в python с помощью библиотеки sympy.

Например, пользователь может ввести:

2x^2

Насколько я понимаю, для оценки этой функции в python она должна быть в формате:

2*x**2

Я думаю, что уже должны быть какие-то библиотеки, которые могли бы помочь с преобразованием нотаций, но я не смог их найти... Любые предложения будут очень признательны.


person user1392897    schedule 01.05.2019    source источник
comment
Возможный дубликат вычисления математического выражения в строке   -  person R4444    schedule 01.05.2019


Ответы (1)


Функция parse_expr поможет:

>>> from sympy.parsing.sympy_parser import (parse_expr, convert_xor, 
    standard_transformations, implicit_multiplication)
>>> parse_expr('2x^2',transformations=standard_transformations+
... (convert_xor,implicit_multiplication))
2*x**2
person smichr    schedule 06.05.2019