我正试图在这里测试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')
答案 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)
现在,您可以将a
和b
与他们拥有相同类型值的知识进行比较。
文件内容总是以字符串/字节返回,您需要相应地转换/ typecase。
答案 1 :(得分:0)
&#39; a&#39;的价值是整数的75,而&#39; b&#39;的值是是&#34; 75&#34;字符串。如果计算相等则结果将为false,因为它们不是同一类型。尝试使用以下内容将b转换为整数:
b = int(b)