Python的条件控制

一、基本语法:

css python selenium 多条件监测 python条件控制_嵌套

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else 。因此若有的if条件写的不严谨导致,同时符合多个条件,只会执行第一个符合条件的语句块

python需要严格遵循缩进规则

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:       
    print('adult')
else:
    print('kid')

teenager

当使用and和or进行混合条件判断时,条件判断是从左到右的并且在and和or两侧的条件不一定都执行

a,b,c,d = 5,7,8,4
if a<b or c>d:     # c>d并不会判断,因为左边的a<b已经是True了
    print('ok')

ok

链式比较也是可以的

4>3>2>1

True

二、三元表达式

python中三元表达式允许讲一个if-else代码块联合起来,在一行代码或一个语句中生成数据

其格式为:执行表达式1 if 判断表达式 else 执行表达式2 ,意思为,如果if判断表达式为True,则执行表达式1,否则执行表达式2

三元表达式中的else语句不能去掉!

如果条件以及真假表达式非常复杂,不建议使用三元表达式,会牺牲可读性

a = 10
value = 1 if a>5 else 0   # 
value

1

a = 10
value = 1 if a>5
value

File "", line 2
value = 1 if a>5
^
SyntaxError: invalid syntax

三、if的嵌套

if-elif-else可以嵌套在if结构中,同样使用缩进

print('数字猜谜游戏')
real_number = 7
guess = 0
while guess!=real_number:
    guess = int(input('输入你猜的数字'))
    if guess==real_number:
        print('你猜对了')
    elif guess<real_number:
        print('你猜小了')
    elif guess>real_number:
        print('你猜大了')

数字猜谜游戏
输入你猜的数字3
你猜小了
输入你猜的数字8
你猜大了
输入你猜的数字7
你猜对了

四、其他注意点

if必须严格遵循语法的形式,不能加大括号什么的,容易与集合混淆

name ="pag"
if name == "pag":{
  print(name == "pag")  # 这里的是构建了一个集合
}

True

a = {print(name == "pag")}
print(type(a))

True
<class 'set'>

if name == "pag":{
  print(name == "pag")
  print("line 2 of if condition")  # 在{}中间多加一条语句,会报错,因为这是集合
}

File "", line 3
print("line 2 of if condition") # 在{}中间多加一条语句,会报错,因为这是集合
^
SyntaxError: invalid syntax

if name == "pag":{
  print(name == "pag"),
  print("line 2 of if condition")  # 再加一个逗号就能正常运行,因为集合中间可以加逗号
}

True
line 2 of if condition