内容正文:
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第35、第36卷精准对标安徽省考纲,知识模块(三)结构化程序设计:
1. 程序文件
2. 结构化程序设计基础
3. 顺序结构程序设计
4. 选择结构程序设计
5. 循环结构程序设计
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第36卷
程序控制结构(3) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.单分支结构的流程图中,判断框的 “否” 出口会直接连接到( )
A.另一个判断框
B.流程的下一个步骤(跳过分支)
C.程序的结束框
D.与 “是” 出口连接相同的处理框
2.continue语句在for循环中的作用是( )
A.终止整个for循环
B.跳过本次循环的剩余语句,进入下一次循环
C.暂停循环,等待用户输入
D.重启循环,从第一个元素开始遍历
3.下列代码中,能实现“输入一个数,若为正数则输出其平方,否则输出 0”的是( )
A. B.
C. D.
4.双分支结构中,else关键字的正确位置是( )
A.if代码段之前 B.if代码段之后,与if对齐
C.if代码段内部,缩进相同 D.任意位置均可
5.while循环中,若初始条件为False,则循环体的执行次数是( )
A.0 次 B.1 次
C.无限次 D.取决于循环体内的语句
6.下列关于循环结构中else子句的说法,正确的是( )
A.循环结构中不能使用else
B.else在循环被break终止时执行
C.else在循环正常结束(未被break终止)时执行
D.else必须与if搭配使用
7.下列代码中,循环体执行次数为 0 的是( )
A.for i in range(0) B.for i in range(5)
C.i = 0; while i < 5: i += 1 D.i = 5; while i < 10: i += 1
8.流程图中,流程线的箭头方向表示( )
A.数据的流向 B.变量的传递方向 C.程序的执行顺序 D.图形的连接方式
9.下列关于break语句的说法,错误的是( )
A.可用于for循环和while循环
B.能终止当前所在的最内层循环
C.能终止所有嵌套的循环
D.执行后跳出循环,执行循环外的代码
10.流程图中,用于表示程序开始或结束的图形是( )
A.矩形(处理框) B.菱形(判断框)
C.圆角矩形(起止框) D.平行四边形(输入输出框)
二、填空题(本大题共5小题,每题4分,共20分)
11.执行以下代码后运行结果为______。
x = 10
y = 20
if x > 5:
if y > 15:
result = "条件满足"
else:
result = "y条件不满足"
else:
result = "x条件不满足"
print(result)
12.执行以下代码后运行结果为_____。
age = 17
has_permission = False
if age >= 18:
message = "可以访问"
else:
if has_permission:
message = "有特殊权限可以访问"
else:
message = "禁止访问"
print(message)
13.执行以下代码后运行结果为_____。
a = 10
b = 5
if a > b:
if a > 15:
result = "很大"
else:
result = "中等"
else:
result = "较小"
print(result)
14.执行以下代码后,列表lst的值为______:
lst = [i//j for i in range(4,6) for j in range(1,3)]
15.下面代码的运行结果______。
s=0
for i in range(10,1,-3):
s+=i
print(s)
三、程序设计题(本大题共5小题,每题10分,共50分)
16.求数列1-1/2+2/3-3/5+5/8-8/13+…的前n项之和。结果保留两位小数。
17.键盘输入字符串,统计字符串频率。并按照频率降序排序。输出字符和对应的个数。
18.键盘输入字符串,统计出大写字母、小写字母、数字、其他字符的个数。
19.输入十进制正整数d和进制r(二进制、八进制、十六进制)转为对应的进制数。
20.求出1000以内最大的斐波那契数,求出它是第几个斐波那契数
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第35、第36卷精准对标安徽省考纲,知识模块(三)结构化程序设计:
1. 程序文件
2. 结构化程序设计基础
3. 顺序结构程序设计
4. 选择结构程序设计
5. 循环结构程序设计
安徽省分类招生和对口招生考试 电子与信息大类
《计算机编程基础—Python 语言》考点双析卷 第36卷
程序控制结构(3) 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.单分支结构的流程图中,判断框的 “否” 出口会直接连接到( )
A.另一个判断框
B.流程的下一个步骤(跳过分支)
C.程序的结束框
D.与 “是” 出口连接相同的处理框
【答案】B
2.continue语句在for循环中的作用是( )
A.终止整个for循环
B.跳过本次循环的剩余语句,进入下一次循环
C.暂停循环,等待用户输入
D.重启循环,从第一个元素开始遍历
【答案】B
3.下列代码中,能实现“输入一个数,若为正数则输出其平方,否则输出 0”的是( )
A. B.
C. D.
【答案】A
4.双分支结构中,else关键字的正确位置是( )
A.if代码段之前 B.if代码段之后,与if对齐
C.if代码段内部,缩进相同 D.任意位置均可
【答案】B
5.while循环中,若初始条件为False,则循环体的执行次数是( )
A.0 次 B.1 次
C.无限次 D.取决于循环体内的语句
【答案】A
6.下列关于循环结构中else子句的说法,正确的是( )
A.循环结构中不能使用else
B.else在循环被break终止时执行
C.else在循环正常结束(未被break终止)时执行
D.else必须与if搭配使用
【答案】C
7.下列代码中,循环体执行次数为 0 的是( )
A.for i in range(0) B.for i in range(5)
C.i = 0; while i < 5: i += 1 D.i = 5; while i < 10: i += 1
【答案】A
8.流程图中,流程线的箭头方向表示( )
A.数据的流向 B.变量的传递方向 C.程序的执行顺序 D.图形的连接方式
【答案】C
9.下列关于break语句的说法,错误的是( )
A.可用于for循环和while循环
B.能终止当前所在的最内层循环
C.能终止所有嵌套的循环
D.执行后跳出循环,执行循环外的代码
【答案】C
10.流程图中,用于表示程序开始或结束的图形是( )
A.矩形(处理框) B.菱形(判断框)
C.圆角矩形(起止框) D.平行四边形(输入输出框)
【答案】C
二、填空题(本大题共5小题,每题4分,共20分)
11.执行以下代码后运行结果为______。
x = 10
y = 20
if x > 5:
if y > 15:
result = "条件满足"
else:
result = "y条件不满足"
else:
result = "x条件不满足"
print(result)
【答案】条件满足
12.执行以下代码后运行结果为_____。
age = 17
has_permission = False
if age >= 18:
message = "可以访问"
else:
if has_permission:
message = "有特殊权限可以访问"
else:
message = "禁止访问"
print(message)
【答案】禁止访问
13.执行以下代码后运行结果为_____。
a = 10
b = 5
if a > b:
if a > 15:
result = "很大"
else:
result = "中等"
else:
result = "较小"
print(result)
【答案】中等
14.执行以下代码后,列表lst的值为______:
lst = [i//j for i in range(4,6) for j in range(1,3)]
【答案】[4, 2, 5, 2]
15.下面代码的运行结果______。
s=0
for i in range(10,1,-3):
s+=i
print(s)
【答案】21
三、程序设计题(本大题共5小题,每题10分,共50分)
16.求数列1-1/2+2/3-3/5+5/8-8/13+…的前n项之和。结果保留两位小数。
【答案】n=int(input("请输入正整数n:"))
s=0
flag=1
a,b=1,1
for i in range(1,n+1):
s+=a/b*flag
a,b=b,a+b
flag*=-1
print("%.2f"%s)
【详解】递归函数 getSum 从列表末尾开始累加,直到索引为 -1 时返回 0。
17.键盘输入字符串,统计字符串频率。并按照频率降序排序。输出字符和对应的个数。
【答案】st=input("请输入字符串:")
dic={}
for i in st:
dic[i]=dic.get(i,0)+1
lst=list(dic.items())
lst.sort(reverse=True,key=lambda x:x[1])
for i,j in lst:
print(i,j)
18.键盘输入字符串,统计出大写字母、小写字母、数字、其他字符的个数。
【答案】st = input("请输入字符串:")
a, b, c, d = 0, 0, 0, 0
for i in st:
if i.isupper():
a+=1
elif i.islower():
b+=1
elif i.isdigit():
c+=1
else:
d+=1
print("大写字母个数:",a)
print("小写字母个数:",b)
print("数字个数:",c)
print("其他字符个数:",d)
19.输入十进制正整数d和进制r(二进制、八进制、十六进制)转为对应的进制数。
【答案】d = int(input("输入十进制正整数d:"))
r = int(input("输入进制r:"))
lst1=[] # 存储余数
lst2=[str(i) for i in range(10)] + ['A','B','C','D','E','F'] # 十六进制专用
while d!=0:
d,ys = divmod(d,r)
lst1.append(lst2[ys])
lst1.reverse()
print(''.join(lst1))
20.求出1000以内最大的斐波那契数,求出它是第几个斐波那契数
【答案】def f(n):
if n<=2:
return 1
else:
return f(n-1)+f(n-2)
n=1
while f(n)<1000:
n+=1
print(n-1)
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$