Когда вы начинаете работать с SymPy, требуется некоторое время, чтобы исправить разницу между объектами SymPy и Python переменными. Постарайтесь помнить, что каждая переменная является переменной Python и что вы присваиваете ей, зависит только от вас.
В строке 6 вы хотите использовать переменные x
и y
. Вы можете посмотреть в предыдущих строках, чтобы увидеть, что вы никогда не определяли x
(что должно быть в lhs =
). Это исправит ситуацию:
>>> x, y = map(Symbol, list1)
Не имеет значения, что находится в list1
в терминах строк. Они могут даже быть ['a', 'b']
. Чем бы они ни были, они будут использоваться для создания символов SymPy, и они будут назначены Python переменным x
и y
. Затем они появятся в результатах уравнения, которое вы решаете:
>>> list1 = list('ab')
>>> x, y = map(Symbol, list1)
>>> solve(Eq(x*2 - 5*x + 6 + y, 0), dict=True)
[{a: b/3 + 2}]