Python 为什么scipy.special.comb和math.comb之间有区别?

Python 为什么scipy.special.comb和math.comb之间有区别?,python,math,scipy,comb,Python,Math,Scipy,Comb,有人能解释一下为什么这不平等吗 import scipy import math sum(math.comb(250, i) for i in range(0, 251)) == sum(scipy.special.comb(250, i) for i in range(0, 251)) 但是,举个例子,是吗 sum(math.comb(25, i) for i in range(0, 26)) == sum(scipy.special.comb(25, i) for i in range(0

有人能解释一下为什么这不平等吗

import scipy
import math
sum(math.comb(250, i) for i in range(0, 251)) == sum(scipy.special.comb(250, i) for i in range(0, 251))
但是,举个例子,是吗

sum(math.comb(25, i) for i in range(0, 26)) == sum(scipy.special.comb(25, i) for i in range(0, 26))
谢谢:)

从中,您发现必须将“精确”标志设置为True,如下所示:

scipy.special.comb(250, i, exact=True)
然后,您的代码将被读取

import scipy.special as ssp
import math
print(sum(math.comb(250, i) for i in range(0, 251)) == sum(ssp.comb(250, i, exact=True) for i in range(0, 251)))
并输出“True”

文件上说

exactbool,可选

如果“精确”为False,则使用浮点精度,否则将计算精确的长整数