由于某种原因,它总是使所有内容通过。
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新手。
答案 0 :(得分:2)
您应将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")):
答案 1 :(得分:1)
您可能会期望:
if (x or y in z):
与以下相同:
if (x in z) or (y in z):
但实际上是:
if (x) or (y in z):
因此,x
的任何类似True的值都将允许您输入if
块体。
有几种方法可以获取所需的内容,其中一种是any
函数和一个生成器表达式):
if any(thing in z for thing in [x,y])