为什么Python不应该返回False语句?

Den*_*neb 3 python equals modulo

以此代码为例:

print 2.0 == 2 #---> returns True

print 12 % 5 #---> returns 2
print ((12.0 / 5) - (12 / 5)) * 5 #---> returns 2.0

print ((12.0 / 5) - (12 / 5)) * 5 == 12 % 5 #---> returns False (What the hell happens here?)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 11

因为第一次计算不能准确返回2.0:

>>> ((12.0 / 5) - (12 / 5)) * 5
1.9999999999999996
Run Code Online (Sandbox Code Playgroud)

print 将浮点显示限制为仅12位有效数字,从而将值舍入为2.0.