比较Python中的两个变量

时间:2017-06-13 18:18:42

标签: python comparison equality

我正试图在这里测试a和b的相等性。我不确定为什么输出打印'不相等',即使a和b都等于'75',这是相同的值。

a = (len(products)) #products is a dictionary, its length is 75
b = (f.read()) #f is a txt file that contains only '75'

if(str(a) == str(b)):
    print ('equal')
else:
    print ('not equal')

2 个答案:

答案 0 :(得分:3)

int()周围添加f.read(),将str版式转换为int

>>> b = f.read().strip() # call strip to remove unwanted whitespace chars
>>> type(b)
<type 'str'>
>>>
>>> type(int(b))
<type 'int'>
>>>
>>> b = int(b)

现在,您可以将ab与他们拥有相同类型值的知识进行比较。

文件内容总是以字符串/字节返回,您需要相应地转换/ typecase。

答案 1 :(得分:0)

&#39; a&#39;的价值是整数的75,而&#39; b&#39;的值是是&#34; 75&#34;字符串。如果计算相等则结果将为false,因为它们不是同一类型。尝试使用以下内容将b转换为整数:

b = int(b)