'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
下面有一个简单的代码,似乎没有输出预期的结果。该代码仅打印 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