比较真假语句时不理解布尔输出

not understanding boolean output when comparing true and false statements

对于下面的代码,我不明白它是如何工作的。我正在尝试在线学习基础知识,无论如何我都无法打破以下内容。但是如果标志值最初是 false,那么第四行基本上是说 false = false or false....这是 TRUE

def any_lowercase4(s):

    flag = False
    for c in s:
        flag = flag or c.islower()
    return flag

print(any_lowercase4('TT'))

然后会打印False

实际上 False or False 是假的(不是你建议的真)

你可以通过这个简单的例子看到这一点:

>>> x = False
>>> y = False
>>> print (x or y)
False
>>> z = True
>>> print (x or z)
True
>>> 

or 的完整真相 table 是:

F or F = F
T or F = T
F or T = T
T or T = T

其中 T = True 和 F = False

打印(any_lowercase4('TT')) 本质上说请检查是否有任何字符较低, 这不是。 因此,要么检查输出 True 的 Tt。 在 Python 中,islower() 是用于字符串处理的内置方法。 islower() 方法 returns 如果字符串中的所有字符都是小写,则为“True”,否则,它 returns “False”。

b='Tt' 
c='tt' 
print (b. islower())
print (c. islower())

for i in b:
    print (b. islower())

输出 错误的 真的 错误的 假