我在尝试用sympy
解方程时遇到了一个问题。某些变量具有指定的特定值。我正在尝试解决b
,c
和d
的方程。这是我的尝试:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
Python输出以下错误:
[user@user Python Scripts]$ python polygen.py
File "polygen.py", line 10
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
^
SyntaxError: invalid character in identifier
我遗漏了什么?
发布于 2018-06-30 07:38:10
您的-
字符有问题。由于某种原因,它不是一个常规字符,python无法识别它。我在我的机器上用连字符替换了你所有的减号,它起作用了:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B-r)*x**2+(C-B*r)*x-C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
我不确定错误的-
符号是什么类型的字符:
a = 2−2
不能在我的机器上工作
然而,a = 2-2
做到了。
发布于 2018-06-30 08:10:51
-
是减号,−
不是。在Python中,它们的解释是不同的,第一个编码为u"\u002D"
,第二个编码为u"\u2212"
,显然它们不会做同样的事情。确保使用您的数字键盘。
https://stackoverflow.com/questions/51110217
复制相似问题