我正在尝试创建一个多层 IF 语句,但我不确定下面的语句格式是否正确。
我无法阅读下面嵌套的 IF 语句,是否可以以更有效的方式编写此代码?
if (a>= gT) and (cLow> rBT):
print("Alpha 1")
if (a_high> c_high) and (c_low < d_low):
if (a> abc) and (a< c_low):
print("Final Count")
if (min(a, b) > min(c, d)) and \
(max(e,f) > max(g, h)): print("All Memory Deleted")
请您参考如下方法:
除了使缩进更统一、删除多余的括号、结合第二和第三个 if 测试之外,您无能为力。
if a >= gT and cLow > rBT:
print("Alpha 1")
if a_high > c_high and c_low < d_low and a > abc and a < c_low:
print("Final Count")
if min(a, b) > min(c, d) and max(e,f) > max(g, h):
print("All Memory Deleted")
将第二个和第三个 if 测试组合起来是安全的原因是 and 运算符“短路”,即在 expression_1 和expression_2 如果 expression_1 为假,则 expression_2 不 求值。有关此主题的更多信息以及示例(在 Python 2 中),请参阅我的回答 here .
顺便说一句,如果可以的话,最好避免反斜杠延续:它太脆弱了。反斜杠后的任何空格都会中断延续。相反,如果长表达式尚未使用某种形式的括号,则通常可以将它括在括号中。例如,
if (min(a, b) > min(c, d) and
max(e,f) > max(g, h)):
参见 Python 风格指南 PEP-0008了解更多详情。
