По какой-то причине он всегда проходит все.
if (keyphrase or keyphrase2 in comment.body) and ("Proof" or "proof" or "roof" or "Roof" or "woof" or "Woof" not in comment.body):
#do stuff
Я новичок в Python извините.
Вы должны использовать any
и all
с генераторными выражениями для проверки нескольких значений для членства:
if any(k in comment.body for k in (keyphrase, keyphrase2)) and all(k not in comment.body for k in ("Proof", "proof", "roof", "Roof", "woof", "Woof")):
Вы можете ожидать:
if (x or y in z):
Чтобы быть таким же:
if (x in z) or (y in z):
Но на самом деле это:
if (x) or (y in z):
Таким образом, любое значение True, равное x
, позволит вам ввести тело if
блока.
Есть несколько вариантов, чтобы получить то, что кажется, что вы ищете, одно - any
функция и выражение генератора):
if any(thing in z for thing in [x,y])