Python条件中的True和'True

-2 投票
8 回答
1206 浏览
提问于 2025-04-15 17:08

如果:

x = 0
b = x==0

然后我打印 b 的话,它会显示 'true'

但是如果我这样做:

x = 0  
b = x ==3

然后我打印 b 的话,它会显示 false。

我想要的是,不是显示 false,而是让布尔值 b 打印我想要的文本,该怎么做呢?

让我再详细解释一下:

bool = all(n > 0 for n in list) 

if bool != 'True':
    print 'a value is not greater than zero'

可是它什么都不显示?

8 个回答

4

正如其他回答所提到的,if 语句是一种选择(你还可以加一个 else 来在每种情况下打印特定的内容)。更直接的方法是使用 if/else 运算符

print('equality' if b else 'diversity')

你也可以使用索引,因为 False 的整数值是 0,而 True 的整数值是 1:

print(['different', 'the same'][b])

不过我觉得这种方法比 if 的写法稍微难懂一些。

6

你是指像这样吗?

x = 0
if x != 3:
    print "x does not equal 3"
6

我想下面的内容可能会帮助你缓解一些困惑:

>>> 0==0
True
>>> 'True'
'True'
>>> (0==0) == 'True'
False
>>> (0==0) == True
True

撰写回答