检查两个条件是否都为真,在 Python 中只有一个为真或都不为真

que*_*bra 0 python algorithm if-statement conditional-statements

我有两个条件 C1 和 C2。我希望我的程序在 C1 和 C2 为真、C1 为真但 C2 不为真、C2 为真但 C1 不为真、C1 和 C2 都不为真的情况下执行不同的操作。

现在我有这个代码:

if C1 and C2:
    ...
elif C1:
    ...
elif C2:
    ...
else:
    ...
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法在 Python 中编写代码?

Bło*_*tek 6

只是稍微。

if C1:
    if C2: 
        # both true
    else:
        # only C1 true
elif C2:
    # only C2 true
else:
    # both false
Run Code Online (Sandbox Code Playgroud)

这样,C1 和 C2 都只检查一次。问题是,你对效率还是可读性更感兴趣。