内容正文:
编写说明:安徽省普通高校对口招生专业理论考试《计算机类考纲百套卷》,依据《安徽省普通高校对口招生计算机类专业课考试纲要》编写。每门课程均分三层训练:紧扣考纲 “掌握”“理解” 要求编写考点训练卷;强化知识交叉与场景关联,按考纲专题编专题训练卷;聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第18卷,按《计算机编程基础-Python语言》范围和要求编写。具体内容为:Python选择结构:单分支、双分支、多分支选择结构。
安徽省《计算机考纲百套卷》 第18卷
《计算机编程基础-Python语言》
选择结构 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.下面说法错误的是( )。
A. 双分支选择结构使用if...else
B. 多分支选择结构里面elif和else是可选项
C. if语句可以单独存在
D. elif和else语句能单独存在
【答案】D
【解析】if可以单独存在,但是elif和else不能
2.执行下面代码,输出结果是( )。
x = 10
if x > 5:
x = x - 3
if x < 8:
x = x + 2
print(x)
A. 7
B. 9
C. 10
D. 8
【答案】B
【解析】
第一个 if:10 > 5 真,x = 10 - 3 = 7。
第二个 if:7 < 8 真,x = 7 + 2 = 9。
输出 9。
3.下列条件表达式中,结果为 True 的是( )。
A. 3 < 5 and 5 > 7
B. not (4 == 4)
C. 3 >= 3 or 2 < 1
D. (1 in [1,2]) and (3 not in [3,4])
【答案】C
【解析】
A:3<5 真,5>7 假,and 假。
B:4==4 真,not 假。
C:3>=3 真,or 短路,结果为真。
D:1 in [1,2] 真,3 not in [3,4] 假(因为 3 在列表中),and 假。
只有 C 为真。
4.执行下面代码,输出结果是( )。
a = 5
b = 3
if a > b:
a, b = b, a
print(a, b)
A. 5 3
B. 3 3
C. 5 5
D. 3 5
【答案】D
【解析】a > b 为真,执行 a, b = b, a,交换后 a=3, b=5。输出 3 5。
5.下列代码中,哪个选项可以实现“如果 score 大于等于90,则输出 '优秀',否则输出 '良好'”( )。
A. if score >= 90: print("优秀") else: print("良好")
B. print("良好") if score >= 90 else print("优秀")
C. if score >= 90: print("优秀")
D. score >= 90 and print("优秀") or print("良好")
【答案】A
【解析】
A:标准双分支结构,score >= 90 时输出“优秀”,否则输出“良好”,符合题意。
B:条件表达式 print("良好") if score >= 90 else print("优秀"),当 score >= 90 时输出“良好”,否则输出“优秀”,条件与题意相反。
C:只有 if 分支,缺少 else,当 score < 90 时无输出,无法实现“否则输出‘良好’”。
D:利用短路逻辑,score >= 90 and print("优秀") or print("良好")。
当 score >= 90 时,and 左侧为真,执行 print("优秀"),但 print 返回 None(假值),因此 or 右侧也会执行 print("良好"),导致同时输出“优秀”和“良好”。
当 score < 90 时,and 左侧为假,直接跳过 print("优秀"),执行 or 右侧 print("良好"),只输出“良好”。
该写法在条件为真时会输出两个结果,不符合题意。
6.执行下面代码,输出结果是( )。
x = 7
y = 4
if x > y:
x = x - y
else:
y = y - x
x += x - y
print(x)
A. 1
B. 2
C. 3
D. 4
【答案】B
【解析】
x > y 真,执行 x = 7 - 4 = 3。
此时 x=3, y=4。
x += x - y 即 x = 3 + (3 - 4) = 3 + (-1) = 2。输出 2。
7.关于 elif 语句,下列说法错误的是( )。
A. elif 必须与 if 一起使用
B. 一个 if 结构中可以出现多个 elif
C. elif 后面可以没有条件表达式
D. elif 语句必须在 if 之后
【答案】C
【解析】C错误:elif 必须带有条件表达式。
8.执行以下代码,输出结果是( )。
num = 25
if num % 2 == 0:
print("偶数")
elif num % 3 == 0:
print("3的倍数")
else:
print("其他")
A. 偶数
B. 3的倍数
C. 其他
D. 无输出
【答案】C
【解析】
25 % 2 不等于 0,跳过 if。
25 % 3 不等于 0,跳过 elif。
执行 else,输出 "其他"。
9.下列条件表达式 x if x > y else y 的作用是( )。
A. 返回 x 和 y 中的最小值
B. 返回 x 和 y 中的最大值
C. 返回 x
D. 返回 y
【答案】B
【解析】当 x > y 为真时返回 x,否则返回 y,即返回较大值
10.执行下面代码,输出结果是( )。
a = 8
b = 12
c = a if a < b else b
print(c)
A. 8
B. 12
C. 20
D. 4
【答案】A
【解析】a < b 为真,返回 a=8,所以 c=8
11.下面代码中,嵌套的 if 语句实现的功能是( )。
age = 20
if age >= 18:
if age < 60:
print("成年人")
else:
print("老年人")
else:
print("未成年人")
A. 未成年人
B. 老年人
C. 成年人
D. 无输出
【答案】C
【解析】
age=20,>=18 真,进入内层。age < 60 真,输出 "成年人"。
12.执行下面代码,输出结果是( )。
x = 5
if x > 3:
if x < 8:
print("A")
else:
print("B")
else:
print("C")
A. A
B. B
C. C
D. 无输出
【答案】A
【解析】x>3 真,进入内层。x<8 真,输出 "A"。
13.下列代码的输出结果是( )。
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print(grade)
A. A
B. B
C. C
D. D
【答案】B
【解析】85 不满足 >=90,但满足 >=80,所以 grade="B"
14.执行下面代码,输出结果是( )。
a = 3
b = 5
c = 4
if a > b:
if a > c:
print(a)
else:
print(c)
else:
if b > c:
print(b)
else:
print(c)
A. 3
B. 4
C. 5
D. 无输出
【答案】C
【解析】a > b 假,进入 else。内层 if b > c:5 > 4 真,输出 b=5。
15.下列哪个选项可以实现“如果 n 是 3 的倍数且是 5 的倍数,则输出 'GO'”?( )。
A. if n % 3 == 0 and n % 5 == 0: print("'GO'")
B. if n % 3 == 0: if n % 5 == 0: print("'GO'")
C. A 和 B 都可以
D. 都不可以
【答案】C
【解析】A 用 and 连接条件,B 用嵌套 if,两者都能实现
16.下面关于选择结构嵌套的说法,正确的是( )。
A. 嵌套深度不能超过 3 层
B. elif 不可以嵌套在 else 内部
C. elif 可以嵌套在 if 内部
D. 嵌套时不能使用 else
【答案】C
【解析】
A错误:嵌套深度无限制。
B错误:elif 可以出现在 if 或 elif 内部,但通常 elif 本身就是 if-elif 结构的一部分,在 else 内部也可以使用 if 或 elif。
C正确:elif 可以作为外层 if 或 elif 的内部语句。
D错误:嵌套中可以使用 else。
17.执行以下代码,输出结果是( )。
x = 6
if x%-2:
print("非零")
else:
print("零")
A. 非零
B. 零
C. 无输出
D. 报错
【答案】B
【解析】6 % -2 = 0(因为 6 能被 2 整除),0 在条件中视为 False,执行 else,输出 "零"。
18.下列哪个选项可以正确判断一个整数 n 是否在区间 [10, 20] 内( )。
A. 10 <= n <= 20
B. n >= 10 and n <= 20
C. A 和 B 都正确
D. 都不正确
【答案】C
【解析】Python 支持链式比较,A 正确;B 是标准写法,也正确
19.执行以下代码,输出结果是( )。
a = 15
b = 20
result = a if a > b else b
print(result)
A. 15
B. 35
C. 5
D. 20
【答案】D
【解析】a > b 为假,返回 b=20
20.下面代码的执行结果( )。
x = 8
y = 12
if x > y:
if x > 10:
result = x - y
else:
result = x + y
else:
if y > 10:
result = y - x
else:
result = y + x
print(result)
A. 2
B. 3
C. 4
D. 5
【答案】C
【解析】
x > y 假,进入 else。
y > 10 真,result = y - x = 12 - 8 = 4。
二、填空题(本大题共10小题,每题2分,共20分)
1.执行下面代码,输出结果为 ________。
x = 10
if x > 5:
x = x - 2
if x > 5:
x = x - 2
print(x)
【答案】6
【解析】
第一次 if:10>5 真,x=8。
第二次 if:8>5 真,x=6。
输出 6。
2.执行下面代码,输出结果为 ________。
num = 15
if num % 3 == 0:
if num % 5 == 0:
print("A")
else:
print("B")
elif num % 5 == 0:
print("C")
else:
print(num)
【答案】"A"
【解析】
15 % 3 == 0 真,进入内层。
15 % 5 == 0 真,输出 "A"。
3.执行以下代码,输出结果为 ________。
score = 75
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
【答案】"C"
【解析】75 不满足前两个条件,满足 >=70,输出 "C"。
4.执行下面的代码,输出结果为 ________。
n = 6
if n % 2 == 0:
if n % 4 == 0:
print("A")
else:
print("B")
else:
print("C")
【答案】"B"
【解析】
6 % 2 == 0 真,进入内层。
6 % 4 != 0,执行 else,输出 "B"。
5.执行下面的代码,输出结果为 ________。
a, b, c = 4, 6, 8
if a > b:
if a > c:
result = a
else:
result = c
else:
if b > c:
result = b
else:
if a + b > c:
result = a + b - c
else:
result = c - a - b
print(result)
【答案】2
【解析】
a > b 假,进入外层 else。
b > c 假,进入内层 else。
a + b > c 即 4+6=10 > 8 真,result = 10-8=2。
6.执行下面代码,输出结果为 ________。
a = 10
b = 20
c = a if a > b else b
print(c - a)
【答案】10
【解析】
a > b 假,c = b = 20。
c - a = 20 - 10 = 10。
7.执行下面代码,输出结果为 ________。
x, y, z = 7, 3, 5
if x > y:
if y > z:
print("A")
elif x > z:
print("B")
else:
print("C")
else:
if z > y:
print("D")
else:
print("E")
【答案】"B"
【解析】
x > y 真,进入外层内层。
y > z 假,进入 elif x > z:7 > 5 真,输出 "B"
8.执行下面代码,输出结果为 ________。
m, n, p = 9, 4, 2
if m > n:
if m > p:
if n > p:
print("X")
else:
print("Y")
else:
print("Z")
else:
print("W")
【答案】"X"
【解析】
m > n 真,进入第一层内层。
m > p 真,进入第二层内层。
n > p 真,输出 "X"。
9.执行下面代码,输出结果为 ________。
a, b, c, d = 5, 10, 15, 20
if a > b:
if c > d:
print(1)
else:
print(2)
elif c > a:
if d > b:
print(3)
else:
print(4)
else:
if a > d:
print(5)
else:
print(6)
【答案】3
【解析】
a > b 假,进入 elif c > a:15 > 5 真,进入该分支。
d > b:20 > 10 真,输出 3
10.执行下面代码,输出结果为 ________。
x = 5
y = 12
z = 7
if (x if x > y else y) > 0:
if (y := x + z) > 15:
result = (x if x > y else y)
else:
result = (z if z < x else x)
else:
if (z if x > y else x) > 20:
result = x + y
else:
result = y - z
print(result)
【答案】5
【解析】
外层条件 (x if x > y else y) > 0:x=5, y=12,5>12 假,返回 y=12,12 > 0 真,进入外层 if。
内层 (y := x + z) > 15:先执行海象赋值,y = 5+7=12,12 > 15 假,进入内层 else。
内层 else:result = (z if z < x else x),z=7, x=5,7 < 5 假,返回 x=5,result=5。
输出 5。
三、程序设计题(本大题共4小题,每题10分,共40分)
1. 闰年判断
编写程序,输入一个年份(整数),判断该年是否为闰年。闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。输出 "闰年" 或 "平年",要求使用双分支选择结构。
【答案】
year = int(input())
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print("闰年")
else:
print("平年")
【解析】闰年条件:能被4整除且不能被100整除,或者能被400整除。双分支结构实现。
2. 成绩等级评定
编写程序,输入一个成绩(0-100 整数),评定等级:
90 分及以上:优秀
80-89 分:良好
70-79 分:中等
60-69 分:及格
60 分以下:不及格
要求使用 if-elif-else 结构实现。
【答案】
score = int(input())
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
【解析】多分支结构,依次判断分数区间。
3. 登录验证
编写程序,模拟用户登录。先输入用户名,如果用户名为 "admin",则提示输入密码;如果密码为 "123456",则输出 "登录成功",否则输出 "密码错误"。如果用户名不是 "admin",则直接输出 "用户名错误"。
【答案】
username = input()
if username == "admin":
pwd = input()
if pwd == "123456":
print("登录成功")
else:
print("密码错误")
else:
print("用户名错误")
【解析】嵌套选择结构,外层判断用户名,内层判断密码。
4. 三角形判断
编写程序,输入三个正整数作为三角形的三条边长,判断能否构成三角形。若能,再判断是直角三角形、等腰三角形、等边三角形还是一般三角形。输出对应的类型:"等边三角形"、"等腰三角形"、"直角三角形"、"一般三角形" 或 "不能构成三角形"。
注意:先判断是否能构成三角形(任意两边之和大于第三边),再判断类型。等腰与直角可能同时满足时优先输出 "等腰直角三角形"(本题要求:若同时满足等腰和直角,输出 "等腰直角三角形")。
【答案】
a, b, c = eval(input("输入三个正整数作为三角形的三条边长:"))
if a + b > c and a + c > b and b + c > a:
if a == b == c:
print("等边三角形")
elif a == b or a == c or b == c:
if a*a + b*b == c*c or a*a + c*c == b*b or b*b + c*c == a*a:
print("等腰直角三角形")
else:
print("等腰三角形")
elif a*a + b*b == c*c or a*a + c*c == b*b or b*b + c*c == a*a:
print("直角三角形")
else:
print("一般三角形")
else:
print("不能构成三角形")
【解析】
先判断能否构成三角形(两边之和大于第三边)。
然后依次判断等边、等腰(含直角)、直角、一般。注意等腰直角优先判断。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:安徽省普通高校对口招生专业理论考试《计算机类考纲百套卷》,依据《安徽省普通高校对口招生计算机类专业课考试纲要》编写。每门课程均分三层训练:紧扣考纲 “掌握”“理解” 要求编写考点训练卷;强化知识交叉与场景关联,按考纲专题编专题训练卷;聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第18卷,按《计算机编程基础-Python语言》范围和要求编写。具体内容为:Python选择结构:单分支、双分支、多分支选择结构。
安徽省《计算机考纲百套卷》 第18卷
《计算机编程基础-Python语言》
选择结构 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.下面说法错误的是( )。
A. 双分支选择结构使用if...else
B. 多分支选择结构里面elif和else是可选项
C. if语句可以单独存在
D. elif和else语句能单独存在
2.执行下面代码,输出结果是( )。
x = 10
if x > 5:
x = x - 3
if x < 8:
x = x + 2
print(x)
A. 7
B. 9
C. 10
D. 8
3.下列条件表达式中,结果为 True 的是( )。
A. 3 < 5 and 5 > 7
B. not (4 == 4)
C. 3 >= 3 or 2 < 1
D. (1 in [1,2]) and (3 not in [3,4])
4.执行下面代码,输出结果是( )。
a = 5
b = 3
if a > b:
a, b = b, a
print(a, b)
A. 5 3
B. 3 3
C. 5 5
D. 3 5
5.下列代码中,哪个选项可以实现“如果 score 大于等于90,则输出 '优秀',否则输出 '良好'”( )。
A. if score >= 90: print("优秀") else: print("良好")
B. print("良好") if score >= 90 else print("优秀")
C. if score >= 90: print("优秀")
D. score >= 90 and print("优秀") or print("良好")
6.执行下面代码,输出结果是( )。
x = 7
y = 4
if x > y:
x = x - y
else:
y = y - x
x += x - y
print(x)
A. 1
B. 2
C. 3
D. 4
7.关于 elif 语句,下列说法错误的是( )。
A. elif 必须与 if 一起使用
B. 一个 if 结构中可以出现多个 elif
C. elif 后面可以没有条件表达式
D. elif 语句必须在 if 之后
8.执行以下代码,输出结果是( )。
num = 25
if num % 2 == 0:
print("偶数")
elif num % 3 == 0:
print("3的倍数")
else:
print("其他")
A. 偶数
B. 3的倍数
C. 其他
D. 无输出
9.下列条件表达式 x if x > y else y 的作用是( )。
A. 返回 x 和 y 中的最小值
B. 返回 x 和 y 中的最大值
C. 返回 x
D. 返回 y
10.执行下面代码,输出结果是( )。
a = 8
b = 12
c = a if a < b else b
print(c)
A. 8
B. 12
C. 20
D. 4
11.下面代码中,嵌套的 if 语句实现的功能是( )。
age = 20
if age >= 18:
if age < 60:
print("成年人")
else:
print("老年人")
else:
print("未成年人")
A. 未成年人
B. 老年人
C. 成年人
D. 无输出
12.执行下面代码,输出结果是( )。
x = 5
if x > 3:
if x < 8:
print("A")
else:
print("B")
else:
print("C")
A. A
B. B
C. C
D. 无输出
13.下列代码的输出结果是( )。
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print(grade)
A. A
B. B
C. C
D. D
14.执行下面代码,输出结果是( )。
a = 3
b = 5
c = 4
if a > b:
if a > c:
print(a)
else:
print(c)
else:
if b > c:
print(b)
else:
print(c)
A. 3
B. 4
C. 5
D. 无输出
15.下列哪个选项可以实现“如果 n 是 3 的倍数且是 5 的倍数,则输出 'GO'”?( )。
A. if n % 3 == 0 and n % 5 == 0: print("'GO'")
B. if n % 3 == 0: if n % 5 == 0: print("'GO'")
C. A 和 B 都可以
D. 都不可以
16.下面关于选择结构嵌套的说法,正确的是( )。
A. 嵌套深度不能超过 3 层
B. elif 不可以嵌套在 else 内部
C. elif 可以嵌套在 if 内部
D. 嵌套时不能使用 else
17.执行以下代码,输出结果是( )。
x = 6
if x%-2:
print("非零")
else:
print("零")
A. 非零
B. 零
C. 无输出
D. 报错
18.下列哪个选项可以正确判断一个整数 n 是否在区间 [10, 20] 内( )。
A. 10 <= n <= 20
B. n >= 10 and n <= 20
C. A 和 B 都正确
D. 都不正确
19.执行以下代码,输出结果是( )。
a = 15
b = 20
result = a if a > b else b
print(result)
A. 15
B. 35
C. 5
D. 20
20.下面代码的执行结果( )。
x = 8
y = 12
if x > y:
if x > 10:
result = x - y
else:
result = x + y
else:
if y > 10:
result = y - x
else:
result = y + x
print(result)
A. 2
B. 3
C. 4
D. 5
二、填空题(本大题共10小题,每题2分,共20分)
1.执行下面代码,输出结果为 ________。
x = 10
if x > 5:
x = x - 2
if x > 5:
x = x - 2
print(x)
2.执行下面代码,输出结果为 ________。
num = 15
if num % 3 == 0:
if num % 5 == 0:
print("A")
else:
print("B")
elif num % 5 == 0:
print("C")
else:
print(num)
3.执行以下代码,输出结果为 ________。
score = 75
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
4.执行下面的代码,输出结果为 ________。
n = 6
if n % 2 == 0:
if n % 4 == 0:
print("A")
else:
print("B")
else:
print("C")
5.执行下面的代码,输出结果为 ________。
a, b, c = 4, 6, 8
if a > b:
if a > c:
result = a
else:
result = c
else:
if b > c:
result = b
else:
if a + b > c:
result = a + b - c
else:
result = c - a - b
print(result)
6.执行下面代码,输出结果为 ________。
a = 10
b = 20
c = a if a > b else b
print(c - a)
7.执行下面代码,输出结果为 ________。
x, y, z = 7, 3, 5
if x > y:
if y > z:
print("A")
elif x > z:
print("B")
else:
print("C")
else:
if z > y:
print("D")
else:
print("E")
8.执行下面代码,输出结果为 ________。
m, n, p = 9, 4, 2
if m > n:
if m > p:
if n > p:
print("X")
else:
print("Y")
else:
print("Z")
else:
print("W")
9.执行下面代码,输出结果为 ________。
a, b, c, d = 5, 10, 15, 20
if a > b:
if c > d:
print(1)
else:
print(2)
elif c > a:
if d > b:
print(3)
else:
print(4)
else:
if a > d:
print(5)
else:
print(6)
10.执行下面代码,输出结果为 ________。
x = 5
y = 12
z = 7
if (x if x > y else y) > 0:
if (y := x + z) > 15:
result = (x if x > y else y)
else:
result = (z if z < x else x)
else:
if (z if x > y else x) > 20:
result = x + y
else:
result = y - z
print(result)
三、程序设计题(本大题共4小题,每题10分,共40分)
1. 闰年判断
编写程序,输入一个年份(整数),判断该年是否为闰年。闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。输出 "闰年" 或 "平年",要求使用双分支选择结构。
2. 成绩等级评定
编写程序,输入一个成绩(0-100 整数),评定等级:
90 分及以上:优秀
80-89 分:良好
70-79 分:中等
60-69 分:及格
60 分以下:不及格
要求使用 if-elif-else 结构实现。
3. 登录验证
编写程序,模拟用户登录。先输入用户名,如果用户名为 "admin",则提示输入密码;如果密码为 "123456",则输出 "登录成功",否则输出 "密码错误"。如果用户名不是 "admin",则直接输出 "用户名错误"。
4. 三角形判断
编写程序,输入三个正整数作为三角形的三条边长,判断能否构成三角形。若能,再判断是直角三角形、等腰三角形、等边三角形还是一般三角形。输出对应的类型:"等边三角形"、"等腰三角形"、"直角三角形"、"一般三角形" 或 "不能构成三角形"。
注意:先判断是否能构成三角形(任意两边之和大于第三边),再判断类型。等腰与直角可能同时满足时优先输出 "等腰直角三角形"(本题要求:若同时满足等腰和直角,输出 "等腰直角三角形")。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$