内容正文:
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系-多分支、嵌套
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________
一、选择题(本大题共10小题,每小题2分,共20分)
1.多分支结构中的“else”是( )。
A. 必选的
B. 可选的
C. 可以省略的
D. 有 elif 就有 else
2.多分支结构语句执行的特点为( )。
A. 顺序性
B. 多条件性
C. 排他性
D. 以上都是
3.多分支结构顺序性体现在( )。
A. 从 if 语句开始比对条件
B. 从 elif 语句开始比对条件
C. 从 else 语句开始比对条件
D. 以上同时开始比对条件
4.多分支结构多条件性体现在( )。
A. 一般写出 3 条具体的判断条件
B. 一般写出 2 条具体的判断条件
C. 一般写出 1 条具体的判断条件
D. 具体的判断条件没有条数要求,但是if语句必须存在
5.多分支结构排他性体现在( )。
A. 一条条件满足,下面的条件语句就不执行
B. 一条条件满足,上面的条件语句就不执行
C. 一条条件满足,不影响上面与下面的条件语句执行
D. 以上说法都不正确
6.多分支结构中,( )关键字是必选的。
A. if
B. elif
C. else
D. break
7.多分支结构中,一般不会出现的关键字是( )。
A. if
B. elif
C. else
D. continue
8.企业进行网上招聘,对求职者的要求是学历达到本科及以上的求职者作为管理人员使用,学历达到大专的求职者作为普工使用,没有学历的求职者只作为临时工使用。那么作为网上平台的管理者,编写相关程序时,最好用到( )结构。
A. 单分支
B. 二分支
C. 多分支
D. 以上均正确
9.多分支结构中的“elif”是( )。
A. 必选的
B. 可选的
C. 可以省略的
D. 有 else 就有 elif
10.下面多分选择结构的运行结果( )。
a,b,c=1,2,3
if a//b:
print(a+b+c)
elif a%b:
print(a+b-c)
elif a/b:
print(a-b-c)
A. 6
B. 0
C. -4
D. 报错
二、填空题(本大题共10小题,每小题2分,共20分)
1._______ 分支结构适合两个以上条件的编程结构。
2.多分支结构执行时,会 _______ 检查条件,直到其中一个条件为 True,执行紧跟着的语句块,则下面的语句不再执行。
3.多分支结构,可以通过分支条件 _______ 的变化,来改变整个程序的逻辑性。
4.多分支结构中,必须用到的关键字是 if 与 _______。
5.多分支结构中,如果条件都不满足,但又要执行相关语句,此时可以用到的关键字是 _______。
6.多分支结构中,“elif”关键字后面,_______ 再接条件。(填“不一定”或“必须”)
7.多分支结构中,一般不使用关键字 _______。(填“else”或“break”)
8.多分支结构中,一般elif和else语句的个数是_________。(填“固定的”或“不固定的”)
9.二分支结构中,_______ 嵌套二分支结构语句。(填“可以”或“不可以”)
10.二分支结构中,_______ 嵌套多分支结构语句。(填“可以”或“不可以”)
三、程序设计题(本大题共4小题 共60分)
1.输入的考试成绩为百分制。60 分以下为“D”,60 至 70 分以下为“C”,70 至 80 分以下为“B”,80 至 100 分为“A”, 如果输入的考试成绩不在0-100之间,则显示"成绩不合法"。(12 分)
2. 编写一个程序,提示用户输入一个月份(1-12),根据输入的月份输出对应的季节。
12 月、1 月、2 月:输出 "冬季"
3 月、4 月、5 月:输出 "春季"
6 月、7 月、8 月:输出 "夏季"
9 月、10 月、11 月:输出 "秋季"
如果输入的月份不在 1-12 范围内,输出 "输入月份不合法"。
3. 编写一个程序,用户输入年龄和身高(厘米),根据输入的年龄和身高推荐适合的游乐设施。
1.年龄小于 6 岁:输出 "适合玩旋转木马"
2.年龄 6-12 岁且身高小于 120 厘米:输出 "适合玩碰碰车"
3.年龄 6-12 岁且身高 120-150 厘米:输出 "适合玩过山车"
3.年龄 6-12 岁且身高 大于150厘米:输出 "适合玩大摆锤"
4.年龄大于 12 岁:输出 "适合玩跳楼机"
如果输入的年龄或身高不在合理范围内(年龄 0-100,身高 50-200),输出 "输入数据不合法"。
4.猜数字游戏,计算机随机产生一个 1 至 1000 的整数,然后请用户输入一个,此范围内的整数进行猜数游戏,猜大了,就显示输出“猜大了”,猜小了,就显示输出“猜小了”,猜对了,就显示输出“猜对了”,如果用户输入的整数不在此范围,显示输出相关错误提示语。(12 分)
5.登录程序,提示用户输入用户名和密码。如果用户名是“usr”并且密码是“123”,则提示“登录成功!”。如果用户名不是“usr”,提示“用户名错误!”。如果密码不是“123”,则提示“密码错误!”。如果用户名及密码都错误,则提示“用户名及密码都错误!”。(12 分)
学科网(北京)股份有限公司
$$
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系-多分支、嵌套
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________
一、选择题(本大题共10小题,每小题2分,共20分)
1.多分支结构中的“else”是( )。
A. 必选的
B. 可选的
C. 可以省略的
D. 有 elif 就有 else
【答案】B
【解析】在多分支结构中,else 是可选的,用于处理所有条件都不满足的情况。
2.多分支结构语句执行的特点为( )。
A. 顺序性
B. 多条件性
C. 排他性
D. 以上都是
【答案】C
【解析】多分支结构具有排他性,一旦某个条件满足,后面的条件将不再检查。
3.多分支结构顺序性体现在( )。
A. 从 if 语句开始比对条件
B. 从 elif 语句开始比对条件
C. 从 else 语句开始比对条件
D. 以上同时开始比对条件
【答案】A
【解析】多分支结构的顺序性体现在从 if 语句开始依次检查条件。
4.多分支结构多条件性体现在( )。
A. 一般写出 3 条具体的判断条件
B. 一般写出 2 条具体的判断条件
C. 一般写出 1 条具体的判断条件
D. 具体的判断条件没有条数要求,但是if语句必须存在
【答案】D
【解析】多分支结构可以有多个条件,但必须包含 if 语句。
5.多分支结构排他性体现在( )。
A. 一条条件满足,下面的条件语句就不执行
B. 一条条件满足,上面的条件语句就不执行
C. 一条条件满足,不影响上面与下面的条件语句执行
D. 以上说法都不正确
【答案】A
【解析】一旦某个条件满足,后面的条件将不再执行
6.多分支结构中,( )关键字是必选的。
A. if
B. elif
C. else
D. break
【答案】A
【解析】if 是多分支结构中必选的关键字。
7.多分支结构中,一般不会出现的关键字是( )。
A. if
B. elif
C. else
D. continue
【答案】D
【解析】continue 通常用于循环结构,而不是多分支结构。
8.企业进行网上招聘,对求职者的要求是学历达到本科及以上的求职者作为管理人员使用,学历达到大专的求职者作为普工使用,没有学历的求职者只作为临时工使用。那么作为网上平台的管理者,编写相关程序时,最好用到( )结构。
A. 单分支
B. 二分支
C. 多分支
D. 以上均正确
【答案】C
【解析】多分支结构适合处理多个条件的情况。
9.多分支结构中的“elif”是( )。
A. 必选的
B. 可选的
C. 可以省略的
D. 有 else 就有 elif
【答案】B
【解析】elif 是可选的,用于添加额外的条件
10.下面多分选择结构的运行结果( )。
a,b,c=1,2,3
if a//b:
print(a+b+c)
elif a%b:
print(a+b-c)
elif a/b:
print(a-b-c)
A. 6
B. 0
C. -4
D. 报错
【答案】B
【解析】a // b 的结果为 0(假),所以检查 elif a % b,结果为 1(真),执行 print(a + b - c),即 1 + 2 - 3 = 0。
二、填空题(本大题共10小题,每小题2分,共20分)
1._______ 分支结构适合两个以上条件的编程结构。
【答案】多
【解析】多分支结构适合处理两个以上的条件。
2.多分支结构执行时,会 _______ 检查条件,直到其中一个条件为 True,执行紧跟着的语句块,则下面的语句不再执行。
【答案】逐条
【解析】多分支结构逐条检查条件,直到找到第一个为真的条件。
3.多分支结构,可以通过分支条件 _______ 的变化,来改变整个程序的逻辑性。
【答案】优先级
【解析】通过调整条件的优先级可以改变程序的逻辑。
4.多分支结构中,必须用到的关键字是 if 与 _______。
【答案】elif
【解析】if 和 elif 是多分支结构中必须用到的关键字。
5.多分支结构中,如果条件都不满足,但又要执行相关语句,此时可以用到的关键字是 _______。
【答案】else
【解析】else 用于处理所有条件都不满足的情况
6.多分支结构中,“elif”关键字后面,_______ 再接条件。(填“不一定”或“必须”)
【答案】必须
【解析】elif 后面必须接条件
7.多分支结构中,一般不使用关键字 _______。(填“else”或“break”)
【答案】break
【解析】break 通常用于循环,而不是多分支结构
8.多分支结构中,一般elif和else语句的个数是_________。(填“固定的”或“不固定的”)
【答案】不固定的
【解析】elif 和 else 的数量不固定,取决于具体需求。
9.二分支结构中,_______ 嵌套二分支结构语句。(填“可以”或“不可以”)
【答案】可以
【解析】二分支结构可以嵌套其他二分支结构
10.二分支结构中,_______ 嵌套多分支结构语句。(填“可以”或“不可以”)
【答案】可以
【解析】二分支结构可以嵌套多分支结构
三、程序设计题(本大题共4小题 共60分)
1.输入的考试成绩为百分制。60 分以下为“D”,60 至 70 分以下为“C”,70 至 80 分以下为“B”,80 至 100 分为“A”, 如果输入的考试成绩不在0-100之间,则显示"成绩不合法"。(12 分)
【答案】
score = float(input("请输入考试成绩:"))
if 0<=score<=100:
if score < 60:
print("D")
elif score < 70:
print("C")
elif score < 80:
print("B")
elif score <= 100:
print("A")
else:
print("成绩不合法")
【解析】
1.输入验证:
首先检查输入的成绩是否在 0-100 范围内。如果不在范围内,直接输出 "成绩不合法"。
2.条件判断:
使用多分支结构依次检查成绩范围:
成绩 < 60 → 输出 "D"
60 ≤ 成绩 < 70 → 输出 "C"
70 ≤ 成绩 < 80 → 输出 "B"
80 ≤ 成绩 ≤ 100 → 输出 "A"
3.逻辑流程:
程序从 if 开始依次检查条件,一旦某个条件满足,执行对应的语句块,后面的条件不再检查。
如果所有条件都不满足(理论上不可能,因为已经验证了范围),程序结束。
2. 编写一个程序,提示用户输入一个月份(1-12),根据输入的月份输出对应的季节。
12 月、1 月、2 月:输出 "冬季"
3 月、4 月、5 月:输出 "春季"
6 月、7 月、8 月:输出 "夏季"
9 月、10 月、11 月:输出 "秋季"
如果输入的月份不在 1-12 范围内,输出 "输入月份不合法"。
【答案】
month = int(input("请输入一个月份(1-12):"))
if 1<=month<=12:
if month in [12, 1, 2]:
print("冬季")
elif month in [3, 4, 5]:
print("春季")
elif month in [6, 7, 8]:
print("夏季")
elif month in [9, 10, 11]:
print("秋季")
else:
print("输入月份不合法")
【解析】
首先检查输入是否为数字,如果不是数字,提示 "输入不合法"。
如果输入是数字,检查月份是否在 1-12 范围内,不在范围内提示 "输入月份不合法"。
使用多分支结构依次检查月份所属的季节范围,并输出对应的季节名称。
条件的顺序性确保了只有第一个满足的条件会被执行,后面的条件不会重复检查。
3. 编写一个程序,用户输入年龄和身高(厘米),根据输入的年龄和身高推荐适合的游乐设施。
1.年龄小于 6 岁:输出 "适合玩旋转木马"
2.年龄 6-12 岁且身高小于 120 厘米:输出 "适合玩碰碰车"
3.年龄 6-12 岁且身高 120-150 厘米:输出 "适合玩过山车"
3.年龄 6-12 岁且身高 大于150厘米:输出 "适合玩大摆锤"
4.年龄大于 12 岁:输出 "适合玩跳楼机"
如果输入的年龄或身高不在合理范围内(年龄 0-100,身高 50-200),输出 "输入数据不合法"。
【答案】
age = int(input("请输入年龄(0-100):"))
height = eval(input("请输入身高(厘米,50-200):"))
if age < 0 or age > 100 or height < 50 or height > 200:
print("输入数据不合法")
else:
if age < 6:
print("适合玩旋转木马")
elif 6 <= age <= 12:
if height < 120:
print("适合玩碰碰车")
elif 120 <= height <= 150:
print("适合玩过山车")
else:
print("适合玩大摆锤")
else:
print("适合玩跳楼机")
【解析】
1.输入验证:
检查输入的年龄和身高是否在合理范围内。如果不在范围内,直接输出 "输入数据不合法"。
2.条件判断:
年龄 < 6 → 输出 "适合玩旋转木马"
6 ≤ 年龄 ≤ 12:
身高 < 120 → 输出 "适合玩碰碰车"
120 ≤ 身高 ≤ 150 → 输出 "适合玩过山车"
身高 > 150 → 输出 "适合玩大摆锤"
年龄 > 12 → 输出 "适合玩跳楼机"
3.逻辑流程:
程序从 if 开始依次检查年龄条件,再根据身高进一步细分。
多分支结构的排他性确保了只有第一个满足的条件会被执行。
4.猜数字游戏,计算机随机产生一个 1 至 1000 的整数,然后请用户输入一个,此范围内的整数进行猜数游戏,猜大了,就显示输出“猜大了”,猜小了,就显示输出“猜小了”,猜对了,就显示输出“猜对了”,如果用户输入的整数不在此范围,显示输出相关错误提示语。(12 分)
【答案】
import random
number = random.randint(1, 1000)
guess = int(input("请输入一个1到1000的整数:"))
if 1<=guess<=1000:
if guess > number:
print("猜大了")
elif guess < number:
print("猜小了")
else:
print("猜对了")
else:
print("输入不合法")
【解析】
1.输入验证:
检查输入的数字是否在 1-1000 范围内。如果不在范围内,直接输出 "输入不合法"。
2.条件判断:
用户输入的数字 > 随机数 → 输出 "猜大了"
用户输入的数字 < 随机数 → 输出 "猜小了"
用户输入的数字 == 随机数 → 输出 "猜对了"
3.逻辑流程:
程序从 if 开始依次检查条件,一旦某个条件满足,执行对应的语句块,后面的条件不再检查。
随机数的生成确保了游戏的公平性。
5.登录程序,提示用户输入用户名和密码。如果用户名是“usr”并且密码是“123”,则提示“登录成功!”。如果用户名不是“usr”,提示“用户名错误!”。如果密码不是“123”,则提示“密码错误!”。如果用户名及密码都错误,则提示“用户名及密码都错误!”。(12 分)
【答案】
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "usr" and password == "123":
print("登录成功!")
elif username != "usr" and password == "123":
print("用户名错误!")
elif username == "usr" and password != "123":
print("密码错误!")
else:
print("用户名及密码都错误!")
【解析】
条件判断:
用户名 == "usr" 且 密码 == "123" → 输出 "登录成功!"
用户名 != "usr" 且 密码 == "123" → 输出 "用户名错误!"
用户名 == "usr" 且 密码 != "123" → 输出 "密码错误!"
用户名 != "usr" 且 密码 != "123" → 输出 "用户名及密码都错误!"
逻辑流程:
程序从 if 开始依次检查条件,根据不同的组合输出相应的错误提示。
多分支结构的排他性确保了只有第一个满足的条件会被执行。
学科网(北京)股份有限公司
$$