Что мне делать с этим исключением Python Sympy?

#python #python-3.x #sympy

#python #python-3.x #sympy

Вопрос:

Это мой код:

 import sympy
question = '''(6i 7 9 6) (9i-0i 4)-(3i 9*1)'''
result = sympy.simplify(question)
print(result)
 

И исключение:

 sympy.core.sympify.SympifyError: Sympify of expression 'could not parse '(6i 7 9 6) (9i-0i 4)-(3i 9*1)'' failed, because of exception being raised:
SyntaxError: invalid syntax (<string>, line 1)
 

Как это исправить?

Комментарии:

1. ‘(6j 7 9 6 ) (9j-0j 4)-(3j 9*1)’ работает. В python 2j это мнимое число.

Ответ №1:

На основе следующего ресурса по упрощению: упрощение Sympy

Попробуйте изменить свою question переменную на следующую:

question = (6*i 7 9 6) (9*i-0*i 4)-(3*i 9*1)

Дайте мне знать, если это поможет

Комментарии:

1. Компилятор пишет вопрос = (6i 7 9 6 ) (9i-0i 4)-(3i 9 *1) Ошибка синтаксиса: недопустимый синтаксис и цели на i

2. @omgmegic Убедитесь, что вы ввели именно то, что я указал в своем ответе. Вы не можете сделать 6i это на python, поскольку компилятор не распознает, что это обычно делается в математике. Вы должны сделать 6*i .

3. simplify будет работать со строкой, сначала пропустив ее sympify . У него sympify проблемы с «2i». Ошибка на самом деле говорит об этом!

4. @hpaulj Очень интересно! Основываясь на ссылке, которую я нашел, не было примеров использования строк. Я соответствующим образом обновлю ответ. Спасибо!