我希望使用下面的if语句检测一个字符串,但是它给我错误的输出。我无法检测到ARR
。当我在下面的if语句中使用时,输出将为“错误”。当我的输入为时,它应该通过ARR
。
我的数据是这样的,我希望编辑我的if语句,而不是编辑我放置数据的方式。
['TPA']
['TPI']
['ABC']
if MM[0] == ('\'ARR\'' or '\'ABC\'' or '\'SAC\''):
pass
else:
print('wrong')
我认为不是单引号会使代码的输出出乎意料,这是因为您使用了错误的if语句。
如果要检查MM[0]
是“ ARR”还是“ ABC”或“ SAC”,则需要使用
MM[0] == 'ARR' or MM[0] == 'ABC' or MM[0] == 'SAC'
或者
MM[0] in ('ARR', 'ABC', 'SAC')
否则,('ARR' or 'ABC' or 'SAC')
是一个始终返回“ ARR”的表达式,因此
if MM[0]==('\'ARR\'' or '\'ABC\'' or '\'SAC\''):
True
仅在MM[0]
为'ARR'时返回。如果MM[0]
为'ABC',则if
语句返回,False
并且您将看到'错误'印刷。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句