假设我有2个字符串都包含字母B,我如何检查以确认两个字符串包含相同的字母?
我尝试过:
myString1 = 'JILL'
myString2 = 'BOB'
if 'B' or 'K' in myString1 and myString2:
print('both strings contain the same letter')
即使myString1不包含字母K或B,仍然会到达print语句。
我认为"和"运算符就像是说两个变量都需要包含相同的字母才能达到print语句但事实并非如此,相反,无论天气如何,都会始终到达print语句,或者两个字符串都包含相同的字母。
答案 0 :(得分:0)
您可以将any
与您想要检查的字符一起使用:
to_check = ('B', 'K')
if any(c in myString1 and c in myString2 for c in to_check):
您的代码失败,因为if 'B'
始终为True,您正在检查B
是否不是假值,如果您要写出来,除了空字符串之外的所有值都为True
它显然没有使用任何它将是:
if 'B' in myString1 and B' in myString2 or 'K' in myString1 and 'K' in myString2: