python - 为什么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
也是detail
,1
但不等于1
。我错过了什么?
解决方案
您的变量 detail 可能实际上是一个字符串,因此有问题的代码实际上会转换为:
"1" == 1
尝试通过编写以下内容转换为整数:
solid = int(detail) == 1
推荐阅读
- reactjs - Google Cloud Bucket 和 ReactJS 应用访问
- regex - 用于更复杂查询的 Lucene 语法
- python - 如何修复代码中的语法错误?
- vagrant - 访问网站时禁止 Apache 403
- c# - 在更新方法中将数据类型 varchar 转换为数字时出错
- c - C中的PGM文件处理
- python - python中字符串的算术[MINUS]
- elasticsearch - Elasticsearch - 启用字段的全文搜索
- c# - WCF REST 服务中的响应时间问题非常重要_更多 10 分钟
- sql - 通过 SAS 执行存储过程的工作方式与在 SQL Server 中的工作方式不同