首页 > 解决方案 > 为什么1不等于1?

问题描述

鉴于:

print("The detail is", self.model.sibling(index.row(), 1, index).data())
detail = self.model.sibling(index.row(), 1, index).data()
print(" and detail is", detail, bool(detail == 1))
solid = bool(detail == 1)
print("Detail:", detail, "Solid", solid, "Detail", self.model.sibling(index.row(), 1, index).data())

我能得到什么:

The detail is 1
 and detail is 1 False
Detail: 1 Solid False Detail 1

也是detail1但不等于1。我错过了什么?

标签: pythonboolean

解决方案


您的变量 detail 可能实际上是一个字符串,因此有问题的代码实际上会转换为:

"1" == 1

尝试通过编写以下内容转换为整数:

solid = int(detail) == 1

推荐阅读