python复合and或if条件

python复合and或if条件,python,if-statement,conditional-statements,conditional-operator,Python,If Statement,Conditional Statements,Conditional Operator,在普通英语中,if语句需要验证两个条件为真: tarX(一个变量)是ini或txt 那个动作(一个变量)等于m 我尝试了几种变体,但都没有用。我敢肯定这是我的语法/逻辑错误,而不是python。 下面的语句之所以有效,是因为(假设)and语句左侧的条件比较变量(tarX)是否等于单个字符串(exe),而右侧变量(act)的条件与(m)的条件相同。我假设我没有正确地“打包”if tarX=='ini'或'txt'和act=='m':语句 如果tarX='exe'和act='m':您的行需要这样写:

在普通英语中,if语句需要验证两个条件为真:

  • tarX(一个变量)是ini或txt
  • 那个动作(一个变量)等于m
  • 我尝试了几种变体,但都没有用。我敢肯定这是我的语法/逻辑错误,而不是python。 下面的语句之所以有效,是因为(假设)and语句左侧的条件比较变量(tarX)是否等于单个字符串(exe),而右侧变量(act)的条件与(m)的条件相同。我假设我没有正确地“打包”if tarX=='ini'或'txt'和act=='m':语句


    如果tarX='exe'和act='m':

    您的行需要这样写:

    if tarX == 'ini' or 'txt' and act == 'm':
    

    请记住,编程语言不是英语,不管它与英语有多相似。

    编程语言与普通英语不是一回事。布尔逻辑需要更明确。in是否将tarX视为文字字符串“tarX”或在其正确上下文中视为变量(其值可能为ini txt dds或exe)?@GaryWashington-它将其视为变量。Python中的
    操作符测试成员资格。因此,'ini',txt')
    中的代码
    tarX基本上是说“变量
    tarX
    的值可以在元组
    ('ini',txt')
    中找到吗?”。
    if tarX in ('ini', 'txt') and act == 'm':