Python条件中的True和'True
如果:
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