如何在 sympy 中以符号方式评估数字数学表达式?

How to evaluate numeric math expressions symbolically in sympy?

我是 sympy 的新手,不是 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 格式的商而不是非符号的浮点数?

3,我需要在变量中使用一些符号,以便在其他表达式中使用。怎么做?如下所示:

x = 2/7
y = x * 7

PS: 我已经知道下面是一种符号化的方式,但是我怎样才能像上面那样保持纯数值表达式的符号化呢?

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