Python 程序设计讲义(19):选择结构程序设计
Python 程序设计讲义(19):选择结构程序设计
目录
- Python 程序设计讲义(19):选择结构程序设计
-
- 一、单分支选择结构
-
-
- 1、单分支选择结构的语法
- 2、单分支选择结构的程序流程图
- 3、单分支选择结构举例
-
- 二、双分支选择结构
-
-
- 1、双分支选择结构的语法
- 2、双分支选择结构的程序流程图
- 3、双分支选择结构举例
- 4、双分支选择结构的简化形式
- 5、if...else 的嵌套
-
- 三、多分支选择结构
-
-
- 1、多分支选择结构的语法
- 2、多分支选择结构的程序流程图
- 3、多分支选择结构举例
-
在程序中,根据条件选择执行不同的语句或语句块,这样的语句称为选择语句。选择语句根据分支的多少分为:单分支选择结构、双分支选择结构和多分支选择结构。
一、单分支选择结构
单分支选择结构只有一个条件和结果。当条件成立时执行某些语句,而当条件不成立时不执行任何语句。
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(\"你输入了一个正数。\") 运行结果为:请输入一个整数:5050你输入了一个正数。
(2)定义一个变量a,并赋值为20,然后通过键盘输入一个数,如果输入一个偶数,则和a相加,输入相加之后的结果。
程序如下:
a=20n=int(input(\"请输入一个整数:\"))if n%2==0: a+=n print(a) 运行结果为:请输入一个整数:100120
二、双分支选择结构
双分支选择结构包含两个分支,当条件成立时执行一个分支,当条件不成立时执行另一个分支。
1、双分支选择结构的语法
双分支选择结构的语法格式如下:
if 条件: 语句1else: 语句2
说明:
(1)当条件成立时,执行语句1,当条件不满足时,执行else后面的语句2。
(2)语句1和语句2具有相同的缩进。
例如:输入一个整数,判断其是偶数还是奇数。
n=int(input(\"请输入一个整数:\"))if n%2==0: print(n,\'是一个偶数\')else: print(n, \'是一个奇数\') 运行结果为:请输入一个整数:5555 是一个奇数
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: 语句块Celse: 语句块D
例如:输入一个整数,如果是整数,输出1,如果是负数,输出-1,如果是0,输出0
程序如下:
n=int(input(\"请输入一个整数:\"))if n>=0: if n>0: y=1 else: y=0else: y=-1print(y)程序的运行结果为:请输入一个整数:00
(2)if…else 放在 else 分支中
语法格式如下:
if 条件A: 语句块Aelse: 语句块B if 条件B: 语句块C else: 语句块D
例如:输入一个整数,如果是整数,输出1,如果是负数,输出-1,如果是0,输出0
程序如下:
n=int(input(\"请输入一个整数:\"))if n>0: y=1else: if n<0: y=-1 else: y=0print(y)程序的运行结果为:请输入一个整数:-25-1
(3)if…else 分别放在 if 和 else 分支中
语法格式如下:
if 条件A: 语句块A if 条件B: 语句块B else: 语句块Celse: 语句块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: 语句块1elif 条件2: 语句块2elif 条件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及格