本节主要讲解Python中的条件判断语句,条件判断语句在开发中是经常使用到的,通常我们使用条件判断语句来执行不同的代码段。Python主要的条件语句有: if语句if…else语句if…elif语句。再学习完这三种条件判断语句时,我们还会实现 switch语句

零、if语句

if语句的语法是这样的:

if 条件:
  执行代码段

这里的条件可以是一个单独的变量/表达式,也可以是一组(多个)变量/表达式,举个例子

# 只包含一个单独的变量的if语句
a=True
if a:
  print('我是单独的变量!!!')

# 只包含一个单独的表达式的if语句
num_1=10
num_2=20
if num_1 < num_2:
  print('我是单独的表达式!!!!')

# 包含一组变量的if表达式
a=True
b=True
if a and b:
  print('我是一组变量')

# 包含一组表达式的if语句
num_1=10
num_2=20
if num_1 < num_2 and num_1 > 5:
  print('我是一组表达式')

注意:在python里的代码块使用 : 开始的,而不是向其他的开发语言那样用左大括号开始。

一、if…else语句

当条件分支存在两条分支时,我们使用if语句编写代码是无法实现的,这时我们就引入了另一个语句: if…else 语句,该语句的语法如下:

if 条件:
  执行代码段1
else:
  执行代码段2

这里我们用例子来看一下:

# 通过性别判断应该进入哪一组
sex='男'
if sex == '男':
  print('进入男生组')
else:
  print('进入女生组')

# 通过性别和年龄判断应该进入那一组
sex='男'
age=8
if sex == '男' and age <7:
  print('进入学前组')
else:
  print('进入上学组')

二、if…elif语句

在某些情况下会存在多个条件分支,这样情况下如果使用if…else语句编写代码的话同样也可以实现,但是这样会导致代码难以维护,而且容易出错,这时我们就可以使用 if…elif 语句 ,语法如下:

if 条件1:
  执行代码段1
elif 条件2:
  执行代码段2
elif 条件3:
  执行代码段3
else:
  执行代码段4

通过例子看一下使用方法:

age=20
if age >=4 and age <7:
  print('幼儿园在读')
elif age >=7 and age <13:
  print('小学在读')
elif age >=13 and age <16:
  print('初中在读')
elif age >=16 and age <19:
  print('高中在读')
else:
  print('大学在读')

三、实现switch语句

python中没有switch语句,但是我们可以用多种方式定义switch语句,官方给出的方案是通过 if…elif 语句,在这里我们通过另一种方式 字典(字典将会在后面的课程讲解) 来实现,代码如下:

# 定义一个字典
switch= {
  '+':lambda x:x+1,
  '-':lambda x:x-1,
  '*':lambda x:x*2,
  '/':lambda x:x/2
}
# 调用
print(switch['*'](3))

四、小结

这节课主要讲解了python中的条件判断语句 ifif…elseif…elif 以及通过 字典 的形式实现switch语句,这些都需要读者谨记。

注意:条件判断语句可以多层嵌套(条件语句中包含条件判断语句),但是我不建议大家这么做,这样会影响代码的可读性。如果必须这么做的话,应控制嵌套层数不超过两层,如果超过两层,就要考虑代码逻辑是否存在问题。

五、作业

从这节课开始,我将在每节课的末尾留下作业,大家可以提交到QQ群或者我的邮箱里。本节的作业是:

  1. 编写代码,将考试成绩转换为相应的等级,等级标准如下:
等级 范围
优秀 90分及以上
良好 70分到89分
合格 60分到69分
太差 60分以下