python中IF语句容易犯的错误CASE

时间:2022-02-09 00:34:29

python中没有switch   case类似的语句,但是下面的IF语句却与之类似,却又不同:

A = B = C = D = E = 1

if   A == 1:
B=2
elif B ==2:
C=3
elif C == 3:
D=4
else:
E=5 print(A,B,C,D,E)

 执行结果是什么?

代码只会执行B=2的赋值语句,其它的判断和赋值不会执行。

这样的语句的运行规则是这样的:

1.判断顺序是自上而下

2.不是每个elif语句都判断,只有上面一个if或者elif判断条件为假时,才会执行下面的一个elif判断

例如本例中: 第一个if判断 A == 1为真,那么执行 B=2语句,之后的elif都不会进行判断了。只有当A==1为假时,才会向下执行elif判断B==2语句。