内容正文:
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。
本试卷是第99卷,为课程综合卷,按《计算机编程基础—Python语言》课程综合范围和要求编写。具体内容为:Python 基础、数据与数据运算、结构化程序设计、面向对象程序设计基础、文件与数据。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第99卷 课程综合卷——计算机编程基础—Python语言
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.Python中生成器函数用__________关键字代替return,每次调用__________恢复执行。
2.装饰器本质是接收__________作为参数,返回__________的__________函数。
3.多态使不同类定义__________方法,调用者__________知道具体类型。方法重写用__________调用父类。
4.with语句的对象需实现__________和__________方法构成上下文管理器协议。
5.f-string中嵌入表达式语法__________,格式化小数位__________,对齐方式__________。
6.nonlocal修改__________函数的变量,global修改__________变量。闭包指__________。
7.集合运算: a|b__________, a&b__________, a-b__________。
8.Python中*和**在函数参数前作用: *args__________, **kwargs__________。
9.正则表达式\d匹配__________,re.findall返回__________,re.sub实现__________。
10.sys.argv获取__________,os.environ获取__________。Python脚本首行#!/usr/bin/env python3作用__________。
二、单项选择题(共15题,每题2分,共30分)
11.t=(1,2);t2=t*2;len(t2)( )
A.2
B.4
C.报错
D.3
12.s="abc";print(s[::-1])( )
A.abc
B.cba
C.cab
D.报错
13.def gen():yield 1;yield 2;list(gen())( )
A.[1]
B.[1,2]
C.生成器
D.(1,2)
14.d={"a":1};d.update({"b":2,"a":3});d( )
A.{"a":1,"b":2}
B.{"a":3,"b":2}
C.报错
D.{"a":1}
15.def f():print(1);def f():print(2);f()( )
A.1
B.2
C.报错
D.1 2
16.class A:x=5;class B(A):x=10;a=A();b=B();print(a.x,b.x)( )
A.5 10
B.10 5
C.5 5
D.10 10
17.try:raise ValueError
except Exception as e:print(type(e).__name__)( )
A.ValueError
B.Exception
C.报错
D.TypeError
18.a=[1,2];b=[*a,3];print(b)( )
A.[1,2,3]
B.[1,2,[3]]
C.报错
D.[3,1,2]
19.from functools import reduce
reduce(lambda x,y:x+y,[1,2,3,4])( )
A.10
B.[1,2,3,4]
C.6
D.报错
20.with open("a.txt","w")as f:
f.write("Hi
")
print(open("a.txt").readline().strip())( )
A.Hi
B.H
C.报错
D.空
21.s="1,2,3";list(map(int,s.split(",")))( )
A.[1,2,3]
B.["1","2","3"]
C.报错
D.(1,2,3)
22.class A: @staticmethod def f():return 1
a=A();a.f()+A.f()( )
A.2
B.1
C.报错
D.None
23.x=5
def f():
global x
x=10
f();print(x)( )
A.5
B.10
C.报错
D.None
24.import os;os.path.splitext("/a/b.txt")( )
A.("/a/b",".txt")
B."/a/b.txt"
C."txt"
D.报错
25.c=sqlite3.connect(":memory:").cursor();
c.execute("CREATE TABLE t(x)");
c.execute("INSERT INTO t VALUES(1),(2)");
c.execute("SELECT x FROM t WHERE x>1").fetchall()( )
A.[(2,)]
B.[2]
C.[(1,),(2,)]
D.报错
三、程序分析题(共3题,每题6分,共18分)
26.import re
s = "ab12cd34ef56"
pattern = r"\d+"
result = re.______(pattern, s)
print(______(result, key=len))
27.def gen():
for i in range(3)
yield i ** 2
g = gen()
print(list(g))
28.import functools
nums = [1, 2, 3, 4, 5]
result = functools.reduce(lambda a, b: a * b, nums)
print(result)
result2 = functools.reduce(lambda a, b: a + b, nums, 10)
print(result2)
四、程序设计题(共3题,共20分,第29题6分、第30题6分、第31题8分)
29.输入字符串,使用正则表达式提取所有邮箱地址。样例:"联系a@x.com, b@y.cn"→['a@x.com','b@y.cn']
30.使用装饰器定义timer函数,输出被装饰函数的执行时间。测试计算sum(range(1000000))。
31.定义函数analyze_log(filename)统计日志中ERROR、WARN、INFO数量,返回字典。样例日志含多行格式"2026-08-03 ERROR ..."。(8分)
五、综合应用题(共1题,共12分)
32.设计任务管理系统:(1)Task类(title,priority,deadline:datetime);(2)TaskManager类实现add/list/by_priority/overdue;(3)JSON持久化保存/加载;(4)主程测试。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。
本试卷是第99卷,为课程综合卷,按《计算机编程基础—Python语言》课程综合范围和要求编写。具体内容为:Python 基础、数据与数据运算、结构化程序设计、面向对象程序设计基础、文件与数据。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第99卷 课程综合卷——计算机编程基础—Python语言
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.Python中生成器函数用__________关键字代替return,每次调用__________恢复执行。
【答案】yield、next()
【解析】yield暂停函数保留状态,next(gen)恢复从头执行到下一个yield。生成器是迭代器惰性求值。
2.装饰器本质是接收__________作为参数,返回__________的__________函数。
【答案】函数、新函数、高阶
【解析】@decorator等价于func=decorator(func)。装饰器在不修改原函数下增加功能(日志/计时/权限)。
3.多态使不同类定义__________方法,调用者__________知道具体类型。方法重写用__________调用父类。
【答案】同名、无需、super()
【解析】多态:shape.draw()对矩形/圆表现不同。同一接口不同实现。super()代理父类方法。
4.with语句的对象需实现__________和__________方法构成上下文管理器协议。
【答案】_enter_、_exit_
【解析】_enter_返回资源对象,_exit_清理资源。实现这两方法即可用于with。也可用contextlib。
5.f-string中嵌入表达式语法__________,格式化小数位__________,对齐方式__________。
【答案】{expr}、{x:.2f}、{x:>10}
【解析】f"值{x}"嵌入表达式。:.2f保留两位小数。:>10右对齐10宽。:<左对齐, ^居中。
6.nonlocal修改__________函数的变量,global修改__________变量。闭包指__________。
【答案】外层、全局、内层函数记住外层作用域
【解析】nonlocal在嵌套函数中修改外层非全局变量。global修改全局变量。闭包=函数+环境变量。
7.集合运算: a|b__________, a&b__________, a-b__________。
【答案】并集、交集、差集
【解析】|合并去重。&公共元素。-在a不在b。^对称差仅在一方。这些运算返回新集合。
8.Python中*和**在函数参数前作用: *args__________, **kwargs__________。
【答案】打包为元组、打包为字典
【解析】*args收集多余位置参数为元组。**kwargs收集关键字参数为字典。调用时*可解包序列。
9.正则表达式\d匹配__________,re.findall返回__________,re.sub实现__________。
【答案】数字、列表、替换
【解析】import re。\d数字\w字母数字\s空白。findall返回匹配列表。sub(pat,repl,str)替换。
10.sys.argv获取__________,os.environ获取__________。Python脚本首行#!/usr/bin/env python3作用__________。
【答案】命令行参数、环境变量、指定解释器
【解析】sys.argv[0]脚本名,[1:]参数。os.environ字典访问环境变量。Shebang让脚本可直接./执行。
二、单项选择题(共15题,每题2分,共30分)
11.t=(1,2);t2=t*2;len(t2)( )
A.2
B.4
C.报错
D.3
【答案】B
【解析】元组*重复,(1,2)*2=(1,2,1,2)。len=4。字符串和列表同样支持*重复。
12.s="abc";print(s[::-1])( )
A.abc
B.cba
C.cab
D.报错
【答案】B
【解析】[::-1]反转切片。步长-1从尾到头。等同于"".join(reversed(s))。
13.def gen():yield 1;yield 2;list(gen())( )
A.[1]
B.[1,2]
C.生成器
D.(1,2)
【答案】B
【解析】gen()返回生成器对象,list()消费全部yield值→[1,2]。每次list(gen())创建新生成器。
14.d={"a":1};d.update({"b":2,"a":3});d( )
A.{"a":1,"b":2}
B.{"a":3,"b":2}
C.报错
D.{"a":1}
【答案】B
【解析】update合并字典,同键覆盖。a:1→3,b新增。等同于d2|d1并集操作(3.9+)。
15.def f():print(1);def f():print(2);f()( )
A.1
B.2
C.报错
D.1 2
【答案】B
【解析】函数可重定义,后定义覆盖前定义。f绑定新函数对象输出2。Python是动态语言。
16.class A:x=5;class B(A):x=10;a=A();b=B();print(a.x,b.x)( )
A.5 10
B.10 5
C.5 5
D.10 10
【答案】A
【解析】类属性继承但可覆盖。A.x=5,B.x=10覆盖父类。实例访问到各自类的属性。
17.try:raise ValueError
except Exception as e:print(type(e).__name__)( )
A.ValueError
B.Exception
C.报错
D.TypeError
【答案】A
【解析】raise抛出异常被except Exception捕获。type输出实际类型名ValueError。Exception是所有异常的基类。
18.a=[1,2];b=[*a,3];print(b)( )
A.[1,2,3]
B.[1,2,[3]]
C.报错
D.[3,1,2]
【答案】A
【解析】*解包运算符将a元素展开→[1,2,3]。与a+[3]等价。**解包字典。
19.from functools import reduce
reduce(lambda x,y:x+y,[1,2,3,4])( )
A.10
B.[1,2,3,4]
C.6
D.报错
【答案】A
【解析】reduce累积计算:((((1)+2)+3)+4)=10。前两个→结果与下一个→最终值。lambda接收两参数。
20.with open("a.txt","w")as f:
f.write("Hi
")
print(open("a.txt").readline().strip())( )
A.Hi
B.H
C.报错
D.空
【答案】A
【解析】写入"Hi
",
换行。readline读一行"Hi
",strip去换行→Hi。
21.s="1,2,3";list(map(int,s.split(",")))( )
A.[1,2,3]
B.["1","2","3"]
C.报错
D.(1,2,3)
【答案】A
【解析】split按逗号分割→["1","2","3"]。map int转换→[1,2,3]。list收集结果。
22.class A: @staticmethod def f():return 1
a=A();a.f()+A.f()( )
A.2
B.1
C.报错
D.None
【答案】A
【解析】staticmethod可实例或类名调用。a.f()→1,A.f()→1,合计2。类方法和静态方法均可类名调用。
23.x=5
def f():
global x
x=10
f();print(x)( )
A.5
B.10
C.报错
D.None
【答案】B
【解析】global声明x为全局变量,赋值10修改全局x。不加global则创建局部变量x=10全局不变。
24.import os;os.path.splitext("/a/b.txt")( )
A.("/a/b",".txt")
B."/a/b.txt"
C."txt"
D.报错
【答案】A
【解析】splitext分离路径和后缀返回元组。后缀含点。Path("b.txt").suffix→.txt(pathlib方式)。
25.c=sqlite3.connect(":memory:").cursor();
c.execute("CREATE TABLE t(x)");
c.execute("INSERT INTO t VALUES(1),(2)");
c.execute("SELECT x FROM t WHERE x>1").fetchall()( )
A.[(2,)]
B.[2]
C.[(1,),(2,)]
D.报错
【答案】A
【解析】内存数据库。插入两行。WHERE筛选x>1→一行(2,)。fetchall返回行列表每行元组。
三、程序分析题(共3题,每题6分,共18分)
26.import re
s = "ab12cd34ef56"
pattern = r"\d+"
result = re.______(pattern, s)
print(______(result, key=len))
【答案】(1)findall(2分);(2)max(2分);(3)12(2分)。
【解析】re.findall(r"\d+",s)提取全部连续数字串,得到列表['12','34','56'];max(序列,key=len)以字符串长度作为比较依据,三个元素长度都是 2,最大值函数返回列表第一个元素12。
27.def gen():
for i in range(3)
yield i ** 2
g = gen()
print(list(g))
【答案】(1)第3行 for i in range(3) 末尾缺少冒号,改为 for i in range(3):(6分)。
【解析】yield定义生成器函数。for循环句末必须有冒号。缺冒号引发SyntaxError。
28.import functools
nums = [1, 2, 3, 4, 5]
result = functools.reduce(lambda a, b: a * b, nums)
print(result)
result2 = functools.reduce(lambda a, b: a + b, nums, 10)
print(result2)
【答案】120
25
【解析】reduce累积求1*2*3*4*5=120。reduce初始值10时,累加求10+1+2+3+4+5=25。
四、程序设计题(共3题,共20分,第29题6分、第30题6分、第31题8分)
29.输入字符串,使用正则表达式提取所有邮箱地址。样例:"联系a@x.com, b@y.cn"→['a@x.com','b@y.cn']
【答案】import re
s = input()
pattern = r'\w+@\w+\.\w+'
result = re.findall(pattern, s)
print(result)
【解析】re.findall提取所有匹配(2分)。\w+@\w+\.\w+匹配邮箱格式(4分)。
30.使用装饰器定义timer函数,输出被装饰函数的执行时间。测试计算sum(range(1000000))。
【答案】import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print("耗时:"+str(round(end-start,4))+"秒")
return result
return wrapper
@timer
def test():
return sum(range(1000000))
print(test())
【解析】装饰器接收函数返回wrapper(2分)。wrapper记录开始和结束时间(2分)。@timer语法糖应用装饰器(2分)。
31.定义函数analyze_log(filename)统计日志中ERROR、WARN、INFO数量,返回字典。样例日志含多行格式"2026-08-03 ERROR ..."。(8分)
【答案】def analyze_log(fn):
counts = {"ERROR":0, "WARN":0, "INFO":0}
with open(fn, "r", encoding="utf-8") as f:
for line in f:
for level in counts:
if level in line:
counts[level] += 1
break
return counts
result = analyze_log("app.log")
for k, v in result.items():
print(k, v)
【解析】初始化计数字典(2分)。逐行读取检查关键词(3分)。累加计数(2分)。返回并输出结果(1分)。
五、综合应用题(共1题,共12分)
32.设计任务管理系统:(1)Task类(title,priority,deadline:datetime);(2)TaskManager类实现add/list/by_priority/overdue;(3)JSON持久化保存/加载;(4)主程测试。
【答案】import json
from datetime import datetime
class Task:
def __init__(self, title, priority, deadline):
self.title = title
self.priority = priority
self.deadline = deadline
def to_dict(self):
return {"title":self.title,"priority":self.priority,"deadline":self.deadline}
@classmethod
def from_dict(cls, d):
return cls(d["title"], d["priority"], d["deadline"])
class TaskManager:
def __init__(self):
self.tasks = []
def add(self, task):
self.tasks.append(task)
def list_all(self):
return self.tasks
def by_priority(self):
return sorted(self.tasks, key=lambda t: -t.priority)
def overdue(self):
now = datetime.now().strftime("%Y-%m-%d")
return [t for t in self.tasks if t.deadline < now]
def save(self, fn):
with open(fn,"w",encoding="utf-8") as f:
json.dump([t.to_dict() for t in self.tasks], f, indent=2, ensure_ascii=False)
def load(self, fn):
with open(fn,"r",encoding="utf-8") as f:
self.tasks = [Task.from_dict(d) for d in json.load(f)]
tm = TaskManager()
tm.add(Task("学习Python", 3, "2026-08-15"))
tm.add(Task("复习数据库", 5, "2026-08-01"))
tm.add(Task("做项目", 4, "2026-08-10"))
for t in tm.by_priority():
print(t.title, t.priority)
【解析】Task.to_dict/from_dict实现序列化(2分)。TaskManager增删查操作(3分)。sorted排序+filter过滤(3分)。JSON持久化(2分)。主程测试(2分)。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$