对于具有实数的分数,Sympy返回零

use*_*615 1 python sympy fractions

我是Sympy的新手,并且意识到计算和简化代数表达式非常好.

但是,当我写出实数的分数时,它返回零(像'x'这样的符号分数没有问题).我究竟做错了什么?

from sympy import *

1./2
Out[2]: 0.5

1/2
Out[3]: 0
Run Code Online (Sandbox Code Playgroud)

Fre*_*cer 7

这是因为python(2.7)需要浮点分母或分子才能返回浮点数.

在python 3.x中,任何分区都返回一个浮点数

您还可以使用以下命令在python 2.7中"修复":

from __future__ import division
Run Code Online (Sandbox Code Playgroud)

实际上python遵循整数除法规则并返回一个整数而不是一个浮点数