Skip to content

if 判断语句

if 语句是最简单的选择结构。如果满足条件就执行设定好的操作,不满足条件就执行其他其他操作。

提示

判断语句又被称为 “选择分支语句”

if 判断

判断的定义

  • 如果条件满足,才能做某件事情,
  • 如果条件不满足,就做另外一件事情,或者什么也不做

if

语法

  1. 冒号和缩进是一种语法,一个 tab 键相当于四个空格,然而在 if 条件语句满足条件下,后面的英文冒号后,直接 enter 键,会自动缩进,不需要手动缩进。
  2. 赋值满足条件,则 print 执行下一步
  3. 赋值不满足条件,则跳过,如果只有一条,则输出内容无;如果有 2 条,则跳过第一条,执行第二条,即 else

if...else... 语句,当 if 的条件为 True 时执行 if 下的语句块,否则执行 else 下语句块。

python
if '要判断的条件':
    ...  # 伪代码,表示省略其他的内容
    # '条件成立时,要做的事情'
else:
    ...
    # '条件不成立时,要做的事情'

提示

ifelse 语句以及各自的缩进部分共同是一个完整的代码块,同时 if 还可以单独使用。

案例:模拟红绿灯

经过一个红绿灯,如果是红灯就立马停车,如果是绿灯就继续前行

python
light = "红灯"

if light == "红灯":  # if 语句以及缩进部分的代码也是一个完整的代码块0
    print("立马停车")

else:  # else 语句以及缩进部分的代码是一个完整的代码块
    print("继续前行")

005_ifelse语句是一个完整的代码块1

程序的执行逻辑如下:

if 多条件判断

if elif

  • 使用 if 可以判断条件
  • 使用 else 可以处理条件不成立的情况
  • 但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用 elif
  • 语法格式如下:
python
if '条件1':
    ...  # '条件1满足执行的代码'
elif '条件2':
    ...  # 条件2满足时,执行的代码
elif '条件3':
    ...  # 条件3满足时,执行的代码
else:
    ...  # 以上条件都不满足时,执行的代码

案例

python
light = "红灯"

if light == "红灯":
    print("立马停车")

elif light == "黄灯":
    print("立马停车")

else:
    print("继续前行")

注意

  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码,看成一个完整的代码块

elif 的应用场景是:同时判断多个条件,所有的条件是平级的

案例:输出学员成绩

在某一款游戏里,根据学生的成绩(score)进行评价

  • 如果是大于 90 分,评论: 宝贝,你是我的骄傲
  • 如果是小于 90 分 大于等于 80 分,评论: 宝贝,你已经很出色了
  • 如果是小于 80 分 大于等于 70 分,评论: 你要继续加油喽
  • 如果是小于 70 分 大于等于 60 分,评论: 孩子,你很危险
  • 如果是小于 60 分 ,评论: 熊孩子,我不想和你说话,我只想用鞭子和你说话
参考代码
python
score = input('请您输入分数:')
score = int(score)
if score >= 90:
    print('宝贝,你是我的骄傲')
elif (score < 90) and (score >= 80):
    print('宝贝,你已经很出色了')
elif (score < 80) and (score >= 70):
    print('你要继续加油喽')
elif (score < 70) and (score >= 60):
    print('孩子,你很危险')
else:
    print('熊孩子,我不想和你说话,我只想用鞭子和你说话')
python
score = input('请您输入分数:')
score = int(score)
if score >= 90:
    print('宝贝,你是我的骄傲')
elif score >= 80:
    print('宝贝,你已经很出色了')
elif score >= 70:
    print('你要继续加油喽')
elif score >= 60:
    print('孩子,你很危险')
else:
    print('熊孩子,我不想和你说话,我只想用鞭子和你说话')
python
"""如果只是单纯给 if 会怎么样"""
score = input('请您输入分数:')
score = int(score)
if score >= 90:
    print('宝贝,你是我的骄傲')
if score >= 80:
    print('宝贝,你已经很出色了')
if score >= 70:
    print('你要继续加油喽')
if score >= 60:
    print('孩子,你很危险')
else:
    print('熊孩子,我不想和你说话,我只想用鞭子和你说话')

参考流程图

if 的嵌套

在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套

if 的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断

if 的嵌套的语法格式,除了缩进之外和之前的没有区别

语法格式如下:

python
if '条件1':
    ...  # 条件1 满足执行的代码

    if '条件1 基础上的条件2':
        ...  # 条件2 满足时,执行的代码
    else:  # 条件 2 不满足的处理
        ...  # 条件2 不满足时,执行的代码

else:  # 条件 1 不满足的处理
    ...  # 条件1 不满足时,执行的代码

案例:嵌套判断

在原有案例的基础上, 对成绩低于60分的进行细分判断

  • 如果分数小于 40,评论:学习成绩不能代表一切, 我在工地等你
  • 如果分数小于 50,评论:加油,你还是有机会上大学的。
python
"""
    在原有案例的基础上, 对成绩低于60分的进行细分判断
    如果分数小于 40,评论:学习成绩不能代表一切, 我在工地等你
    如果分数小于 50,评论:加油,你还是有机会上大学的。
"""
score = input('请您输入分数:')
score = int(score)
if score >= 90:
    print('宝贝,你是我的骄傲')
elif score >= 80:
    print('宝贝,你已经很出色了')
elif score >= 70:
    print('你要继续加油喽')
elif score >= 60:
    print('孩子,你很危险')
else:
    print('熊孩子,我不想和你说话,我只想用鞭子和你说话')
    if score < 40:
        print('学习成绩不能代表一切, 我在工地等你')
    elif score < 50:
        print('加油,你还是有机会上大学的。')

案例:嵌套判断2

python
"""
微博信息采集与推送流程

注册账号后先采集姓名,然后再采集用户的兴趣,最后给用户推送可能感兴趣的内容
"""
sex = int(input("请输入你的性别:"))

if sex == "男":
    print("给你推荐男生可能喜欢的话题")
    hobby = int(input("请输入你的兴趣:"))
    # 推荐男频小说的类别
    if hobby == '小说':
        print('给你推荐小说相关的话题')
    elif hobby == '科技':
        print('给你推荐科技相关的话题')
    else:
        print('给你推荐大部分男生喜欢的内容')
elif sex == "女":
    print("给你推荐女生可能喜欢的话题")

elif sex == "保密":
    print('随便推送内容')

else:
    print("其他情况")

三元表达式

程序设计中,往往有一些巧妙的程序语言,能够使得程序看起来简练干净:

练习:使用 input 输入两个数,根据其较大的数字输出

  1. 输入两个数
  2. 判断大小
  3. 输出大的数字
python
a = input("请输入a:")
b = input("请输入b:")
max_number = 0

if a > b:
    max_number = a
else:
    max_number = b

print(max_number)

三元表达式

python
a = input("请输入a:")
b = input("请输入b:")
max_number = a if a > b else b
print(max_number)