Python 我怎样才能解出一个二元方程,使它依赖于一个具有辛的变量?

Python 我怎样才能解出一个二元方程,使它依赖于一个具有辛的变量?,python,math,sympy,Python,Math,Sympy,我一直在尝试为一个项目制作一个优化计算器。我正在用正方形的面积做一个基本的例子。为了得到一个我需要推导的方程,我必须解P=XY,所以我希望它显示的表达式是Y=P/X。 我打算让它比只允许整数作为输入更容易接受,所以我正在尝试这样的解算方法: from sympy import * x, y, p = symbols('x y z') AExp = x*y print(solve((x*y),p)) 但是我得到了错误 ValueError: Since there is more than on

我一直在尝试为一个项目制作一个优化计算器。我正在用正方形的面积做一个基本的例子。为了得到一个我需要推导的方程,我必须解P=XY,所以我希望它显示的表达式是Y=P/X。 我打算让它比只允许整数作为输入更容易接受,所以我正在尝试这样的解算方法:

from sympy import *
x, y, p = symbols('x y z')
AExp = x*y
print(solve((x*y),p))
但是我得到了错误

ValueError:
Since there is more than one variable in the expression, the
variable(s) of differentiation must be supplied to differentiate

其他解算器似乎用于更复杂的表达式,因此我怀疑是否应该使用它们以及如何使用它们。

不确定错误消息,但问题中的代码有一些问题:

  • x,y,p=符号('x y z')
    创建打印为“x”和“y”的
    x
    y
    ,以及打印为“z”的
    p
  • AExp=x*y
    :创建一个表达式,该表达式是
    x
    y
  • solve((x*y),p)
    :尝试为方程
    x*y=0
下面是一些查找
y
的代码,这样
p=x*y

来自sympy导入的
*
x、 y,p=符号('x y p',real=True)#告诉sympy搜索哪种类型的解决方案有助于防止误解
my_expr=x*y
我的等式=等式(我的表达式,p)#等式x*y=p
打印(求解(my_eq,y))#为方程找到y
打印(求解(等式(x*y,p),y))#相同的简写

这将输出:
[p/x]

您使用的是哪个版本的python?您在
Python3.6.7
中编写代码,将
[]
作为输出。Python3.7中的一些确实会返回空列表,如
Solveset()