Python 如何在Symphy中象征性地计算数值数学表达式?

Python 如何在Symphy中象征性地计算数值数学表达式?,python,math,sympy,symbolic-math,Python,Math,Sympy,Symbolic Math,我是Symphy的新手,不是python专家。我需要做一些象征性的计算,就像下面的例子 评价:C(4,2)/C(7,2) 即。 2/7 C(4,2)是我国广泛使用的一种快车,它是4x3/2x1。也许你管它叫组合。 类似地,C(7,2)是7x6/2x1 1,虽然我可以写一个函数来计算C(x,y),但在sympy中有没有一个轮子可以这样做 2,无论我如何得到C(4,2)和C(7,2),我如何得到2/7格式的商,而不是一个非符号的浮点数 x = sympy.symol('x') y = x / 7

我是Symphy的新手,不是python专家。我需要做一些象征性的计算,就像下面的例子

评价:C(4,2)/C(7,2)

即。
2/7

C(4,2)是我国广泛使用的一种快车,它是4x3/2x1。也许你管它叫组合。 类似地,C(7,2)是7x6/2x1

1,虽然我可以写一个函数来计算C(x,y),但在sympy中有没有一个轮子可以这样做

2,无论我如何得到C(4,2)和C(7,2),我如何得到2/7格式的商,而不是一个非符号的浮点数

x = sympy.symol('x')
y = x / 7
3,我需要在变量中使用一些符号,以便在其他表达式中使用。怎么做?如下图所示:

x = 2/7
y = x * 7
附言: 我已经学会了下面是一个象征性的方式,但我如何才能保持纯粹的数字表达式像上面的象征

x = sympy.symol('x')
y = x / 7

有一个函数
nC
,用于执行以下操作:

In [51]: from sympy.functions.combinatorial.numbers import nC

In [52]: nC(4, 2) / nC(7, 2)
Out[52]: 2/7

谢谢,这解决了我的第一个问题。但是,如果变量不是来自nC(x,y),我如何在变量中象征性地存储和使用2/7呢?每当你说“x=…”时,你就是在定义x。在symphy中,
x
可能是
符号('x')
或类似于
2/7
的值。因此,定义
x=S(2)/7
,不要将其重新定义为符号,你会没事的。如果你使用'S(2)/7,你将得到一个精确的SymPy Rational而不是python浮点。请阅读SymPy教程