【问题标题】:python compound and or if condition [duplicate]python复合和或if条件[重复]
【发布时间】:2014-01-28 07:42:43
【问题描述】:
if tarX == 'ini' or 'txt' and act == 'm':

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

  1. tarX(变量)是 ini 或 txt
  2. 那个act(一个变量)等于m

我尝试了几种变体均无济于事。我确定这是我的语法/逻辑错误而不是 python 无能。 下面的语句有效,因为(假设)and 语句左侧的条件比较变量 (tarX) 是否等于单个字符串 (exe),并且右侧变量 (act) 上的条件与 (米)。我假设我没有正确“打包” if tarX == 'ini' or 'txt' and act == 'm': 语句。

如果 tarX == 'exe' 并且 act == 'm':

【问题讨论】:

  • 编程语言与普通英语不同。布尔逻辑需要比这更明确。

标签: python if-statement conditional-statements conditional-operator


【解决方案1】:

你的行需要这样写:

if tarX in ('ini', 'txt') and act == 'm':

请记住,一种编程语言不是英语,无论它多么相似。

【讨论】:

  • in 是否将 tarX 视为文字字符串“tarX”或在其正确的上下文中视为变量(可能具有 ini txt dds 或 exe 作为其值)?
  • @GaryWashington - 它将它视为一个变量。 Python 中的 in 运算符用于测试成员资格。因此,代码tarX in ('ini', 'txt') 基本上是在说“变量tarX 的值是否可以在元组('ini', 'txt') 中找到。
猜你喜欢
  • 2016-09-20
  • 1970-01-01
  • 2017-05-11
  • 2013-07-18
  • 2015-03-30
  • 2014-07-18
  • 2011-02-15
  • 2013-04-23
  • 2014-04-13
相关资源
最近更新 更多