x=(100+1.0/3)-100 y=1.0/3 z=1+1.0/3-1
x、 y,z在数学上显然有相同的值,但是
print(x==y) print(x==z) print(y==z)
为所有人生成假值。
您遇到了浮点错误。的输出 x , y ,和 z 是:
x
y
z
>>> x 0.3333333333333286 >>> y 0.3333333333333333 >>> z 0.33333333333333326
见 here 有关浮点错误的信息。