我有下面的代码:
a = 1
b = 2
c = 3
d = 4
e = 5
if ((a == 1 and
b == 2 and
c == 4) or
(d == 4 and e == 5)):
print "Yeah, Working"
else:
print "ooops"
Run Code Online (Sandbox Code Playgroud)
可以实现相同的代码简单和最好的方法吗?
如果你想要条件更清晰或更好看,你可以这样做:
a = 1
b = 2
c = 3
d = 4
e = 5
if (a, b, c) == (1, 2, 4) or (d, e) == (4, 5):
print "Yeah, Working"
else:
print "ooops"
Run Code Online (Sandbox Code Playgroud)
这是一个非常个人化的答案,但是我想在if声明之前将一些布尔值初始化。我发现它更具可读性(因为您可以为变量指定一些有意义的名称),而且我敢肯定编译器可以轻松地对其进行优化。
cond1 = a == 1 and b == 2 and c == 4
cond2 = d == 4 and e == 5
if cond1 or cond2:
print("Yeah, working")
else:
print("ooops")
Run Code Online (Sandbox Code Playgroud)