Python 程序设计讲义(19):选择结构程序设计

发布于:2025-07-27 ⋅ 阅读:(18) ⋅ 点赞:(0)

Python 程序设计讲义(19):选择结构程序设计

在程序中,根据条件选择执行不同的语句或语句块,这样的语句称为选择语句。选择语句根据分支的多少分为:单分支选择结构、双分支选择结构和多分支选择结构。

一、单分支选择结构

单分支选择结构只有一个条件和结果。当条件成立时执行某些语句,而当条件不成立时不执行任何语句。

1、单分支选择结构的语法

单分支选择结构的语法格式如下:

if 条件:
    语句

说明:

(1)条件:为关系表达式或逻辑表达式,条件后面必须使用冒号(:)。

(2)语句:前面必须缩进4个空格(可以使用 Tab 键),表示语句与 if 具有包含关系。

例如:输入一个整数,判断是否大于100

n=int(input("请输入一个整数:"))
if n>100:
    print("你输入了一个大于100的整数。")

运行结果为:
请输入一个整数:200
你输入了一个大于100的整数。
2、单分支选择结构的程序流程图

单分支选择结构的程序流程图如下图所示:

在这里插入图片描述

3、单分支选择结构举例

(1)通过键盘输入一个数,如果输入的是一个正数,则显示输入的结果,并输出提示信息:你输入了一个正数。

程序如下:

n=int(input("请输入一个整数:"))
if n>0:
    print(n)
    print("你输入了一个正数。")
    
运行结果为:
请输入一个整数:50
50
你输入了一个正数。    

(2)定义一个变量a,并赋值为20,然后通过键盘输入一个数,如果输入一个偶数,则和a相加,输入相加之后的结果。

程序如下:

a=20
n=int(input("请输入一个整数:"))
if n%2==0:
    a+=n
    print(a)
    
运行结果为:
请输入一个整数:100
120

二、双分支选择结构

双分支选择结构包含两个分支,当条件成立时执行一个分支,当条件不成立时执行另一个分支。

1、双分支选择结构的语法

双分支选择结构的语法格式如下:

if 条件:
    语句1
else:
    语句2

说明:

(1)当条件成立时,执行语句1,当条件不满足时,执行else后面的语句2。

(2)语句1和语句2具有相同的缩进。

例如:输入一个整数,判断其是偶数还是奇数。

n=int(input("请输入一个整数:"))
if n%2==0:
    print(n,'是一个偶数')
else:
    print(n, '是一个奇数')
    
运行结果为:
请输入一个整数:55
55 是一个奇数
2、双分支选择结构的程序流程图

在执行 if…else 语句时,先对 if 后面的条件进行判断,如果条件成立,则执行 if 后面的语句1,再执行 if…else 语句以外的其他语句。如果条件不成立,则执行 else 后面的语句2,再执行 if…else 语句以外的其他语句。

双分支选择结构的程序流程图如下图所示:

在这里插入图片描述

3、双分支选择结构举例

通过键盘输入一个整数,表示一个人的年龄,如果输入的年龄大于18,显示已成年,否则显示未成年。

程序如下:

n=int(input("请输入一个年龄:"))
if n>18:
    print('已成年')
else:
    print('未成年')

运行结果为:
请输入一个年龄:20
已成年
4、双分支选择结构的简化形式

在书写 if…else 语句时,可以使用简化形式。

格式如下:

语句1 if 条件 else 语句2

当满足 if 后面的条件时,执行语句1,否则执行语句2。

例如:判断分数是否及格。

程序如下:

score=float(input("请输入考试分数:"))
y='及格' if score>=60.0 else '不及格'
print(y) 

运行结果为:
请输入考试分数:50
不及格
5、if…else 的嵌套

if…else 的嵌套是指在 if…else 语句中嵌套另一个 if…else 语句。根据嵌套的位置不同,可分为三种情况。

(1)if…else 放在 if 分支中

语法格式如下:

if 条件A:
    语句块A
    if 条件B:
        语句块B
    else:
        语句块C
else:
    语句块D     

例如:输入一个整数,如果是整数,输出1,如果是负数,输出-1,如果是0,输出0

程序如下:

n=int(input("请输入一个整数:"))
if n>=0:
    if n>0:
        y=1
    else:
        y=0
else:
    y=-1
print(y)

程序的运行结果为:
请输入一个整数:0
0

(2)if…else 放在 else 分支中

语法格式如下:

if 条件A:
    语句块A
else:
    语句块B    
    if 条件B:
        语句块C
    else:
        语句块D

例如:输入一个整数,如果是整数,输出1,如果是负数,输出-1,如果是0,输出0

程序如下:

n=int(input("请输入一个整数:"))
if n>0:
    y=1
else:
    if n<0:
        y=-1
    else:
        y=0
print(y)

程序的运行结果为:
请输入一个整数:-25
-1

(3)if…else 分别放在 if 和 else 分支中

语法格式如下:

if 条件A:
    语句块A
    if 条件B:
        语句块B
    else:
        语句块C
else:
    语句块C
    if 条件C:
        语句块E
    else:
        语句块F

例如:某一门课程的考试分笔试和机试,如果笔试和机试成绩都及格,则考试通过;如果机试和笔试都不及格,机试和笔试都需要补考;如果机试及格,笔试不及格,则笔试需要补考;如果笔试及格,机试不及格,则机试需要补考。

程序如下:

bs=int(input("请输入笔试成绩:"))
js=int(input("请输入机试成绩:"))
if bs>=60:
    if js>=60:
        result='成绩合格'
    else:
        result='成绩不合格:需要补考机试'
else:
    if js>=60:
        result = '成绩不合格:需要补考笔试'
    else:
        result = '成绩不合格:需要补考机试和笔试'
print(result)

程序的运行结果为:
请输入笔试成绩:50
请输入机试成绩:50
成绩不合格:需要补考机试和笔试

三、多分支选择结构

多分支选择结构使用 if…elif…else 语句,由 if、elif 和 else 构成,它在 if … else 语句的基础上使用 elif (可以有一个或多个 elif)进行扩展。

1、多分支选择结构的语法

多分支选择结构语法格式如下:

if 条件1:
    语句块1
elif 条件2:
    语句块2
elif 条件3:
    语句块3
...
else:
    语句块n
2、多分支选择结构的程序流程图

在执行 if…elif…else 语句时,先判断 if 后面的条件,如果条件成立,执行 if 后面的语句块;如果条件不成立,接着判断 elif 后面的条件,如果成立,就执行后面的语句块;如果条件不成立,继续判断下一个 elif 后面的条件,以此类推。如果所有的 elif 后面的条件都不成立,则执行 else 后面的语句块。

多分支选择结构的程序流程图如下图所示:

在这里插入图片描述

3、多分支选择结构举例

通过键盘输入学生的成绩(百分制),根据成绩确定一个等级(90-100分:优秀,80-90分:良好,70-80分:中等,60-70分:及格,60分以下:不及格,超过100分或低于0分,显示输入错误)。

程序如下:

score=int(input("请输入学生成绩:"))
if score>100 or score<0:
    y='输入错误'
elif score>=90:
    y="优秀"
elif score>=80:
    y="良好"
elif score>=70:
    y="中等"
elif score>=60:
    y="及格"
else:
    y="不及格"
print(y)

程序的运行结果为:
请输入学生成绩:66
及格

网站公告

今日签到

点亮在社区的每一天
去签到