Python布尔比较返回不同的结果

时间:2014-12-04 03:58:46

标签: python boolean

我需要一些帮助来理解以下代码中两个布尔比较之间的区别:

x=10.0
for i in range(10):
   x+=0.1
   #print x
print type(x)
print x
print type(11.0)
print x == 11.0  

for i in range(10):
   x-=0.1
   #print x
print type(x)
print x
print type(10.0)
print x == 10.0

代码产生:

<type 'float'>
11.0
<type 'float'>
False
<type 'float'>
10.0
<type 'float'>
True

正如您所看到的,所有变量都是float类型,但是当比较x == 11.0时,布尔比较返回False。在下一个循环中,x的值返回其原始值10.0,并且当比较时返回True。

我不确定为什么一个是假的而另一个是真的,因为我相信两个比较中的两个项目具有相同的值和类型。我怀疑问题在于转换和转换类型,但我可能是错的。

0 个答案:

没有答案