三方真假检查

时间:2014-02-07 16:08:32

标签: python

我有3个变量,a, b, c。我想检查a是否为真,如果c为真,但仅当b为真。如果b为false,则只检查a

例如:

如果a为真,但b为假,则返回true 如果a为真,则b为真,c为假,则返回false 如果a为假,则返回false。

构建这个if条件的最pythonic方法是什么?

4 个答案:

答案 0 :(得分:8)

这不是严格的python - 更多的基本布尔检查。 如果按照正确的顺序排列,可以利用短路。

你有这样的TT:

--------------------
| A | B | C | Output
--------------------
| T | F | X | T
| T | T | T | T
| F | X | X | F
| T | T | F | F

如您所见,A == False始终对应False条件。如果A不为假,B与输出条件成反比关系,'C'与输出条件直接关联。我会这样写:

if A and (not B or C):

答案 1 :(得分:6)

a and (not b or c)也应该有用。

答案 2 :(得分:3)

修改了新要求

您可以使用if-then else条件表达式(之前的语法错误)

a and c if b else a

答案 3 :(得分:0)

怎么样

a == b == c == True or b != a == True