• 想一想:

    if能完成当xxx时做事情 if-else能完成当xxx时做事情1,否则做事情2 如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?

  • 答:

    elif

1. elif的功能

elif的使用格式如下:

  1. if xxx1:
  2. 事情1
  3. elif xxx2:
  4. 事情2
  5. elif xxx3:
  6. 事情3

说明:

  • 当xxx1满足时,执行事情1,然后整个if结束
  • 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
  • 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

demo:

  1. score = 77
  2. if score>=90 and score<=100:
  3. print('本次考试,等级为A')
  4. elif score>=80 and score<90:
  5. print('本次考试,等级为B')
  6. elif score>=70 and score<80:
  7. print('本次考试,等级为C')
  8. elif score>=60 and score<70:
  9. print('本次考试,等级为D')
  10. elif score>=0 and score<60:
  11. print('本次考试,等级为E')

2. 注意点

  • 可以和else一起使用

    1. if 性别为男性:
    2. 输出男性的体重
    3. ...
    4. elif 性别为女性:
    5. 输出女性的体重
    6. ...
    7. else:
    8. 第三种性别的体重
    9. ...
  • 说明:

    • 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
    • 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
    • 当 “性别为男性” 不满足,“性别为女性”也不满足,那么就默认执行else后面的代码,即 “第三种性别的体重”相关代码

      elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用

4. if 实现三目运算操作

三目运算符是啥?
a if a > b else b
代码解释(执行流程):a > b成立执行 if左边,否则执行 else 右边。

练习题:求a和b两个数字中的较大值.

  1. # 求a和b两个数字中的较大值.
  2. a = 10
  3. b = 20
  4. # 使用三目运算符求较大值
  5. max = a if a > b else b
  6. print("较大值为:%d" % max)

a 和 b的部分也可以改为复杂的语句
print("a大") if a>b else print("b大")