if…else… 短路效应
问题设定:
若a>b
,则输出提示信息a>b
,反之同理。
Python代码
:
# a=4 b=5 and 3
def cmp1():
a = 4
if a < 5:
print("a<5")
if a > 3:
print("a>3")
def cmp2():
a = 4
if a < 5:
print("a<5")
elif a > 3:
print("a>3")
实验结果
:
Function Cmp1 —>
a<5
a>3
Function Cmp2 —>
a<5
总结
:
若两种情况可以同时发生,则需要谨慎使用elif,否则会因为短路效应导致第二种情况的误判。
示例
:
LeetCode_801
官方题解中给出的两种情况是可以共存的,若使用if…elif…则会因为短路效应,导致结果出错。