#python #python-3.x #sympy
#python #python-3.x #sympy
Вопрос:
это код, который может вставить равенство между двумя объектами:
import sympy as sp
from sympy import pprint
y =sp.Symbol('y')
x=sp.Eq((((y**2 2)*(y**3))/5) 3,3*(y**2))
pprint(x,use_unicode=True)
это результат:
3 ⎛ 2 ⎞
y ⋅⎝y 2⎠ 2
─────────── 3 = 3⋅y
5
но если я хочу добавить еще одно равное, используя другой sp.Eq, подобный этому:
import sympy as sp
from sympy import pprint
y =sp.Symbol('y')
x=sp.Eq(sp.Eq((((y**2 2)*(y**3))/5) 3,3*(y**2)),0)
pprint(x,use_unicode=True)
результат:
False
Комментарии:
1. Пожалуйста, объясните, чего вы пытаетесь достичь?
2. Я пытаюсь поместить три = в функцию типа a = b = c, я могу сделать только a = b, но я не могу поместить три =
3. Я могу понять это из вашего вопроса, но мой вопрос заключается в том, «почему» вы хотите поместить два = в функцию? Это потому, что вы надеетесь решить уравнения (и в этом случае, хотя очевидно, что y = 0 является решением для b = c, менее очевидно, что есть решение для a = c (= 0) и, конечно, не с y = 0, поэтому ваше ‘равенство’ кажется невозможным)?
4. Я хочу решить правило с более чем шагом, поэтому я хочу сделать больше, чем =, потому что тогда я хочу попытаться записать его в файл docx
5. @MagdyRafeet вы пытаетесь решить систему уравнений, подобную этой ?
Ответ №1:
Вы можете использовать evaluate=False
:
In [7]: Eq(Eq(3, 4, evaluate=False), 2, evaluate=False)
Out[7]: 3 = 4 = 2