如果'z'中的'x'和'y':

时间:2011-11-07 20:08:36

标签: python if-statement

我在python中制作了一个Q& A脚本。它获取raw_input,并将其设置为问题。我试过了if 'var1' and 'var2' in theQuestion:,但它找到了两个字符串,而不是两个字符串。有没有办法让我在一个'if'语句中完成这项工作? (不是'if x:if y:then z)。

2 个答案:

答案 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 ...