我在python中制作了一个Q& A脚本。它获取raw_input,并将其设置为问题。我试过了if 'var1' and 'var2' in theQuestion:
,但它找到了两个字符串,而不是两个字符串。有没有办法让我在一个'if'语句中完成这项工作? (不是'if x:if y:then z)。
答案 0 :(得分:12)
and
是一个逻辑AND,而不是自然语言。因此,您的代码被解释为:
'var1' and 'var2' in theQuestion
True and 'var2' in theQuestion # Since bool('var1') == True
'var2' in theQuestion
您希望使用逻辑AND连接两个测试:
if 'var1' in theQuestion and 'var2' in theQuestion:
或者,对于大量测试:
if all(k in theQuestion for k in ('var1', 'var2')):
答案 1 :(得分:2)
怎么样:
if 'x' in z and 'y' in z:
... do something ...