как использовать оператор if для проверки принадлежности строки - PullRequest
0 голосов
/ 20 февраля 2020

У меня проблемы с пониманием моей логики c в простом Python утверждении. Я пытаюсь использовать 'not in', чтобы проверить, является ли 's' или '5' частью ввода, но когда я использую любой из них, выполняется тот же оператор печати, который говорит, что 's или 5 не включены'. Вот мой код:

myinput = input('Enter input here')
if 's' or '5' not in myinput:
    print('s or 5 is not included')
else:
    print('s or 5 is included')

Может ли кто-нибудь мне помочь? Спасибо

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Как утверждает Скотт Хантер

if ('s' not in myinput) and ('5' not in myinput):
    print('s or 5 is not included')
else:
    print('s or 5 is included')

Закон де Моргана гласит, что не (А или В) = не А и не B

В вашем примере A = 's' в myinput, а B = '5' в myinput

0 голосов
/ 20 февраля 2020

(Я уверен, что это дубликат, но не смог его найти.)

"Ни ', ни' 5 'не входят в myinput" логически эквивалентно "(' s 'нет в myinput ) и ('5' не в myinput) ". (См. Закон Деморгана.)

...