'or' 将字符串与两种情况进行比较时,布尔运算出现错误

'or' boolean operation appearing faulty when comparing a string to two cases

下面有一个简单的代码,似乎没有输出预期的结果。该代码仅打印 yup 一次,尽管我希望该代码打印三次 yup ,因为在整个 for 循环迭代期间该布尔表达式将为 true 三次。关于如何更改我的 bool 表达式以便循环打印 yup 三次的任何建议?

a1=['555','666','777',66]
b1=['999','888','333',66]

for a,b in zip(a1,b1):
    if a == ('555'  or  '666' or 66):
        print('yup')

也许这有助于突出您的问题

x = ('555'  or  '666' or 66)
print(x)
a1=['555','666','777',66]
for a in a1:
    if a == x:
       print("yup")

正确的检查是

任一

if a in ('555'  or  '666' or 66)

if a == '555' or a == '666' or a == 66