【问题标题】:Python: Combine AND and NOT operators? [duplicate]Python:结合 AND 和 NOT 运算符? [复制]
【发布时间】:2017-07-29 21:45:42
【问题描述】:

if (cond1 and cond2) or (not cond1 and not cond2):

有没有更简单的 Python 写法?

【问题讨论】:

  • 你的意思是if (cond1 = cond2)
  • @KenWhite:那是因为语法错误。 ;-)
  • 你想要xor的倒数,(所以xand?),即bool(cond1) == bool(cond2)。查看副本(!= 反转为==)。如果cond1cond2 本身都是布尔结果,您可以放弃bool() 调用。
  • @MartijnPieters:好的。逻辑是正确的;该问题仍然询问两个变量的相等性(两者都为真或均为假)。填写语言的正确语法,无论是===equals,还是其他。 :-)
  • @SamuelLiew:是的,这只不过是异或的反转。所以bool(a) != bool(b) (XOR) 变成了bool(a) == bool(b)。我确实在我的评论中提到了这一点。

标签: python


【解决方案1】:

如果 cond1 和 cond2 是布尔值,那么肯定有:

cond1 == cond2

【讨论】:

  • 完全忘记了这一点。谢谢!
猜你喜欢
  • 2010-11-07
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
  • 2012-10-13
  • 2020-12-18
相关资源
最近更新 更多