内容正文:
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。
本试卷是第98卷,为课程综合卷,按《计算机编程基础—Python语言》课程综合范围和要求编写。具体内容为:Python 基础、数据与数据运算、结构化程序设计、面向对象程序设计基础、文件与数据。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第98卷 课程综合卷——计算机编程基础—Python语言
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.Python 中单下划线_和双下划线前缀的区别: attr 表示_______,attr 触发______,防止子类意外覆盖。
【答案】约定保护、名称改写
【解析】单下划线开头_attr只是约定的受保护成员,仅作为开发规范提示不要直接调用;双下划线__attr会触发 Python 名称改写机制,重构属性名,避免子类同名属性直接覆盖父类成员。
2.range(1,10,2)生成__________;[::-1]切片作用__________。
【答案】1,3,5,7,9、反转序列
【解析】range步长2。s[::-1]从尾到头步长-1反转。s[::-2]隔一个取一个逆序。
3.导入模块的三种方式:import math、__________ 和__________。
【答案】from math import sqrt、import math as m
【解析】from...import可直接用函数不加前缀。as取别名简化调用。不推荐from math import *。
4.try-except-else-finally中__________无论是否异常都执行,__________在无异常时执行。
【答案】finally、else
【解析】finally必执行(通常释放资源)。else无异常才执行。except捕获异常。finally中return会吞异常。
5.列表推导[x for x in lst if cond]等价于__________循环。生成器用__________替代[]。
【答案】filter+map、()
【解析】[x for x in...if]等价filter(x,itertools.ifilter)。(x for x in...)创建生成器延迟求值省内存。
6.@staticmethod与@classmethod区别:前者无__________,后者第一参数为__________。
【答案】self/cls、cls
【解析】staticmethod是普通函数放类命名空间。classmethod接收cls代表类本身可创建实例。
7.dict.get(key,default)与dict[key]区别:前者键不存在返回__________,后者引发__________。
【答案】default值、KeyError
【解析】get容错。dict[key]键不存在抛KeyError。get(key,0)统计频次常用写法。
8.f=open("a.txt","w");f.write("中文");f.tell()在UTF-8下返回__________。
【答案】6
【解析】UTF-8中文每字3字节×2=6字节。tell返回字节偏移非字符数。write返回写入字符数2。
9.enumerate和zip的用途:前者__________,后者__________。
【答案】加索引、配对打包
【解析】enumerate(lst)返(0,item0)...。zip(a,b)返(itemA,itemB)对应配对,最短截断。
10.__str__与__repr__:前者面向__________输出,后者面向__________调试。__eq__重载__________运算符。
【答案】用户、开发者、==
【解析】print(obj)调__str__。交互环境调__repr__。未实现__str__退到__repr__。__eq__重载==。
二、单项选择题(共15题,每题2分,共30分)
11.bool([])和bool([[]])的值( )
A.False和True
B.True和False
C.均为True
D.均为False
【答案】A
【解析】[]空列表False。[[]]非空列表(含一个空列表)为True。判空用if not lst。
12.x,y=5,3;x,y=y,x;print(x,y)( )
A.5 3
B.3 5
C.3 3
D.5 5
【答案】B
【解析】多重赋值右侧先求值(3,5)再赋给左侧x,y。无需中间变量完成交换。
13.s="hello";s=s.upper();print(s[1])( )
A.E
B.e
C.H
D.h
【答案】A
【解析】upper全大写→"HELLO"。s[1]索引1字符=E。字符串不可变方法返回新串。
14.t=(1,2);t[0]=3会发生( )
A.变为(3,2)
B.TypeError
C.(1,2,3)
D.正常
【答案】B
【解析】元组不可变不能修改元素。tuple无append等修改方法。list可变可修改。
15.d={"a":1,"b":2};d.pop("a");print(d)( )
A.{"b":2}
B.{"a":1}
C.报错
D.None
【答案】A
【解析】pop删除键"a"并返回值1。字典变为{"b":2}。popitem删最后一项。
16.def f(a,b=0,*args):f(1,2,3,4)中args( )
A.(1,2)
B.(3,4)
C.(4,)
D.(1,2,3,4)
【答案】B
【解析】a=1,b=2,*args收集多余位置参数→(3,4)。默认参数值在定义时计算一次。
17.class A:x=1;a=A();b=A();a.x=10;print(b.x)( )
A.10
B.1
C.报错
D.None
【答案】B
【解析】a.x=10创建实例属性不改变类属性A.x=1。b没有实例属性访问到类属性。
18.n=10;while n>0:n-=3;循环执行几次( )
A.3
B.4
C.5
D.无限
【答案】B
【解析】n:10→7→4→1→-2(停)。输出4次:n=10,7,4,1时循环体执行。
19.import math;math.ceil(3.1)和math.floor(3.9)( )
A.3和3
B.4和3
C.3和4
D.4和4
【答案】B
【解析】ceil向上取整3.1→4。floor向下取整3.9→3。int(3.9)=3截断。
20.with open("a.txt","a")as f:f.write("X")( )
A.覆盖文件
B.末尾追加
C.报错
D.首行写入
【答案】B
【解析】a追加模式写入文件末尾。w覆盖写。x排他创建已存在报错。
21.list(map(str,range(1,4)))( )
A.["1","2","3"]
B.[1,2,3]
C.["1 2 3"]
D.报错
【答案】A
【解析】map将str应用于1,2,3→"1","2","3"。list收集。等同于[str(x)for x in range(1,4)]。
22.s={1,2};s.add(2);s.add(3);print(len(s))( )
A.2
B.3
C.4
D.报错
【答案】B
【解析】add(2)已存在不去重add(3)新增。集合{1,2,3} len=3。自动去重特性。
23.try:1/0
except ZeroDivisionError:pass
else:print("OK")( )
A.OK
B.pass
C.报错
D.无
【答案】D
【解析】except捕获异常后不执行else。else在无异常时执行。finally无论如何都执行。
24.random.shuffle(lst)作用( )
A.返回新列表
B.原地打乱返回None
C.排序
D.去重
【答案】B
【解析】shuffle原地修改返回None。需要新列表用random.sample(lst,len(lst))。
25.for k,v in {"a":1,"b":2}.items():print(k,v)( )
A.a 1回车b 2
B.a b回车1 2
C.ab
D.报错
【答案】A
【解析】items返回键值对元组。循环输出a 1换行b 2。直接遍历字典默认遍历键。
三、程序分析题(共3题,每题6分,共18分)
26.s = "Hello World"
result = ""
for ch in s:
if ch.is______():
result += ch.______()
else:
result += ch
print(result)
【答案】(1)isupper(2分);(2)lower(2分);(3)hello world(2分)。
【解析】ch.isupper()判断字符是否为大写字符,若是则使用ch.lower()转为小写字符拼接至结果;小写字母、空格直接直接拼接不做处理。代码功能仅将字符串中大写字母转为小写,小写字符维持原状。
27.d = {"a": 1, "b": 2}
for k, v in d.items():
print(k + "=" + str(v)
print("done")
【答案】(1)第3行 print(...) 缺少右括号,改为 print(k+"="+str(v))(6分)。
【解析】items()返回键值对。print调用必须完整包含右括号。SyntaxError常见原因。
28.def outer(x):
def inner(y):
return x + y
return inner
f = outer(10)
print(f(5))
print(f(20))
【答案】15
30
【解析】闭包记住外层x=10。outer(10)返回inner函数。f(5)=10+5=15。f(20)=10+20=30。
四、程序设计题(共3题,共20分,第29题6分、第30题6分、第31题8分)
29.输入字符串,统计其中字母、数字、空格和其他字符的个数。样例:"Hello 123!"→字母5 数字3 空格1 其他1
【答案】s = input()
a = d = sp = o = 0
for ch in s:
if ch.isalpha(): a += 1
elif ch.isdigit(): d += 1
elif ch.isspace(): sp += 1
else: o += 1
print("字母"+str(a)+" 数字"+str(d)+" 空格"+str(sp)+" 其他"+str(o))
【解析】初始化四个计数器(1分)。isalpha判字母(2分)。isdigit判数字(1分)。isspace判空格(1分)。else其他(1分)。
30.定义递归函数gcd(a,b)计算最大公约数,输入两整数输出结果。
【答案】def gcd(a, b):
return a if b == 0 else gcd(b, a % b)
a, b = map(int, input().split())
print(gcd(a, b))
【解析】辗转相除法递归实现(3分)。基例b==0返回a(2分)。map+split读入(1分)。
31.定义函数merge_files(f1,f2,out)合并两个文本文件到新文件,每行添加行号。测试合并
a.txt和
b.txt。(8分)
【答案】def merge_files(f1, f2, out):
n = 1
with open(out, "w", encoding="utf-8") as fo:
for fn in [f1, f2]:
with open(fn, "r", encoding="utf-8") as fi:
for line in fi:
fo.write(str(n)+": "+line)
n += 1
merge_files("a.txt", "b.txt", "merged.txt")
【解析】定义函数接受三个文件名(2分)。嵌套with打开多文件(2分)。累加行号写入(3分)。主程调用(1分)。
五、综合应用题(共1题,共12分)
32.设计电商商品管理系统:
(1)Product类(id,name,price,stock);
(2)Cart类管理购物车实现add()/total()/checkout()库存检查;
(3)主程序测试添加商品并结账。
【答案】class Product:
def __init__(self, pid, name, price, stock):
self.pid = pid
self.name = name
self.price = price
self.stock = stock
class Cart:
def __init__(self):
self.items = []
def add(self, p, qty):
if qty <= p.stock:
p.stock -= qty
self.items.append((p, qty))
return True
return False
def total(self):
return sum(p.price * q for p, q in self.items)
def checkout(self):
t = self.total()
self.items.clear()
return t
p1 = Product("001", "鼠标", 89, 10)
p2 = Product("002", "键盘", 159, 5)
c = Cart()
c.add(p1, 2)
c.add(p2, 1)
print(c.total())
【解析】Product封装商品信息(2分)。Cart.add检查库存(3分)。Cart.total计算总价(3分)。checkout结账清空(2分)。主程测试(2分)。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。
本试卷是第98卷,为课程综合卷,按《计算机编程基础—Python语言》课程综合范围和要求编写。具体内容为:Python 基础、数据与数据运算、结构化程序设计、面向对象程序设计基础、文件与数据。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第98卷 课程综合卷——计算机编程基础—Python语言
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.Python 中单下划线_和双下划线前缀的区别: attr 表示_______,attr 触发______,防止子类意外覆盖。
2.range(1,10,2)生成__________;[::-1]切片作用__________。
3.导入模块的三种方式:import math、__________ 和__________。
4.try-except-else-finally中__________无论是否异常都执行,__________在无异常时执行。
5.列表推导[x for x in lst if cond]等价于__________循环。生成器用__________替代[]。
6.@staticmethod与@classmethod区别:前者无__________,后者第一参数为__________。
7.dict.get(key,default)与dict[key]区别:前者键不存在返回__________,后者引发__________。
8.f=open("a.txt","w");f.write("中文");f.tell()在UTF-8下返回__________。
9.enumerate和zip的用途:前者__________,后者__________。
10.__str__与__repr__:前者面向__________输出,后者面向__________调试。__eq__重载__________运算符。
二、单项选择题(共15题,每题2分,共30分)
11.bool([])和bool([[]])的值( )
A.False和True
B.True和False
C.均为True
D.均为False
12.x,y=5,3;x,y=y,x;print(x,y)( )
A.5 3
B.3 5
C.3 3
D.5 5
13.s="hello";s=s.upper();print(s[1])( )
A.E
B.e
C.H
D.h
14.t=(1,2);t[0]=3会发生( )
A.变为(3,2)
B.TypeError
C.(1,2,3)
D.正常
15.d={"a":1,"b":2};d.pop("a");print(d)( )
A.{"b":2}
B.{"a":1}
C.报错
D.None
16.def f(a,b=0,*args):f(1,2,3,4)中args( )
A.(1,2)
B.(3,4)
C.(4,)
D.(1,2,3,4)
17.class A:x=1;a=A();b=A();a.x=10;print(b.x)( )
A.10
B.1
C.报错
D.None
18.n=10;while n>0:n-=3;循环执行几次( )
A.3
B.4
C.5
D.无限
19.import math;math.ceil(3.1)和math.floor(3.9)( )
A.3和3
B.4和3
C.3和4
D.4和4
20.with open("a.txt","a")as f:f.write("X")( )
A.覆盖文件
B.末尾追加
C.报错
D.首行写入
21.list(map(str,range(1,4)))( )
A.["1","2","3"]
B.[1,2,3]
C.["1 2 3"]
D.报错
22.s={1,2};s.add(2);s.add(3);print(len(s))( )
A.2
B.3
C.4
D.报错
23.try:1/0
except ZeroDivisionError:pass
else:print("OK")( )
A.OK
B.pass
C.报错
D.无
24.random.shuffle(lst)作用( )
A.返回新列表
B.原地打乱返回None
C.排序
D.去重
25.for k,v in {"a":1,"b":2}.items():print(k,v)( )
A.a 1回车b 2
B.a b回车1 2
C.ab
D.报错
三、程序分析题(共3题,每题6分,共18分)
26.s = "Hello World"
result = ""
for ch in s:
if ch.is______():
result += ch.______()
else:
result += ch
print(result)
27.d = {"a": 1, "b": 2}
for k, v in d.items():
print(k + "=" + str(v)
print("done")
28.def outer(x):
def inner(y):
return x + y
return inner
f = outer(10)
print(f(5))
print(f(20))
四、程序设计题(共3题,共20分,第29题6分、第30题6分、第31题8分)
29.输入字符串,统计其中字母、数字、空格和其他字符的个数。样例:"Hello 123!"→字母5 数字3 空格1 其他1
30.定义递归函数gcd(a,b)计算最大公约数,输入两整数输出结果。
31.定义函数merge_files(f1,f2,out)合并两个文本文件到新文件,每行添加行号。测试合并
a.txt和
b.txt。(8分)
五、综合应用题(共1题,共12分)
32.设计电商商品管理系统:
(1)Product类(id,name,price,stock);
(2)Cart类管理购物车实现add()/total()/checkout()库存检查;
(3)主程序测试添加商品并结账。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$