2015-12-06 4 views
0

Скажите, что у меня есть две строки, в которых оба содержат букву B. Как бы я проверить, чтобы обе строки содержали одну и ту же букву?Как проверить, содержит ли две строки подходящую букву в Python?

Я попытался сделать:

myString1 = 'JILL' 
myString2 = 'BOB' 
if 'B' or 'K' in myString1 and myString2: 
    print('both strings contain the same letter') 

Отпечаток заявление еще достигнуто, даже если myString1 не содержит буквы K или B.

Я думаю, что было бы, что «и» оператор будет, как говорят обе переменные должны содержать одну и ту же букву для утверждения печати, но это не так, вместо этого заявление печати всегда достигается независимо от погоды или же обе строки содержат одну и ту же букву.

+0

'набор (myString1) и установить (myString2)' –

+0

@PeterWood, что будет работать, если вам искали какой-либо пересечение не в том случае, если определенный символ был как в –

+0

''B' in (set (myString1) & set (myString2))' –

ответ

0

Вы можете использовать any с таким количеством персонажей, как вы хотите, чтобы проверить:

to_check = ('B', 'K') 
if any(c in myString1 and c in myString2 for c in to_check): 

Ваш код не в if 'B' всегда, правда, вы проверяете, если B не является значением falsey, который для всех, кроме пустой строка будет True, если бы вы выписать его в явном виде без использования какой-либо, то это было бы:

if 'B' in myString1 and B' in myString2 or 'K' in myString1 and 'K' in myString2: 
Смежные вопросы