问题描述
if..elif语句是否完全像一个 OR 语句一样工作?
例如下面的if..elif :
if X == "a":
Y = 1
elif Z == "b" and V = "c":
Y = 1
作为
if X == "a" or (Z == "b" and V == "c"):
Y = 1
1楼
是的,在您的特定情况下,功能是相同的。
如果您要根据执行为True的条件做两件不同的事情,您将使用if / elif语句。
例如,
if a == 'a':
y = 1
elif z == 'b' and v == 'c':
y = 2
然而,因为在这两种情况下你都在做Y = 1 ,那么
if x == 'a' or (z == 'b' and v == 'c'):
y = 1
效果很好,甚至更合适。
2楼
您的代码中的效果是相同的。
但它的工作方式不同。
or语句查看两个语句,如果至少有一个语句为真,则返回True 。
另一方面, if ... elif语句只会进入其中一个条件。
要么只进入if语句,要么只进入elif语句。