《Python程序编写入门》(高教版)安徽省(分类招生和对口招生)计算机类 高频考点冲刺卷(五)
|
2份
|
19页
|
309人阅读
|
3人下载
内容正文:
编写说明:本冲刺卷严格依据安徽省计算机类高考考纲编写,依托《Python程序编写入门》(高教版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
安徽省计算机类
《Python程序编写入门》高教版
高频考点冲刺卷(五)解析版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题 (本大题共15小题,每题2分,共30分)
1.下列对Python程序设计语言描述错误的是( )。
A. Python是一种面向对象的程序设计语言
B. Python是一种静态的程序设计语言
C. Python是一种动态的程序设计语言
D. Python是一种解释型的程序设计语言
答案:B
解析:Python是动态类型语言,不是静态类型语言(如C++、Java需要提前声明变量类型)。
2.下列变量名命名正确的是( )。
A. print!
B. is
C. 9else
D. break_pass
答案:D
解析:变量名规则:不能是关键字(B:is、C:9else数字开头不合法),A含特殊字符!,Dbreak_pass含下划线合法。
3. Python表达式 12//7-2+5*8/4%5/2 的值为( )。
A. 1
B. -1
C. -1.0
D. 1.0
答案:C
解析:
运算顺序:5*8=40 → 40/4=10.0 → 10.0%5=0.0 → 0.0/2=0.0;12//7=1 → 1-2=-1 → -1+0.0=-1.0。
4. type(int("123",8))语句的运行结果是( )。
A. <class 'str'>
B. <class 'int'>
C. <class 'list'>
D. <class 'tuple'>
答案:B
解析:int("123",8)将八进制"123"转十进制83,type(83)返回<class 'int'>。
5. 下列赋值语句执行不正确的是( )。
A. x=y=2
B. x,y=2
C. x=2,3,2
D. x=(y=2)
答案:D
解析:x=(y=2)语法错误,应写为x=y=2。
6. 执行 x="abc2023abc"; y=x.replace("abc",""")后的x,y的值分别为( )。
A. x="2023abc" y="abc2023abc"
B. x="abc2023abc" y="2023"
C. x="abc2023" y="abc2023abc"
D. x="2023" y="abc2023abc"
答案:B
解析:replace返回新字符串,不改变原字符串x,y为替换后结果"2023"。
7. 语句 eval("-8+6/5")的执行结果是( )。
A. -9.2
B. -8+6/5
C. "-8+6/5"
D. -6.8
答案:D
解析:eval计算表达式:-8+6/5 = -8+1.2 = -6.8。
8. 字符串 s="a
b\tc\\", 则 print(len(s))的值为( )。
A. 9
B. 8
C. 7
D. 6
答案:D
解析:转义字符:"a
b\tc\\" → 'a'、'
'、'b'、'\t'、'c'、'\\'共6个字符。
9. 下列关于random模块中的函数功能描述错误的是( )。
A. random.shuffle(x)用于将一个列表中的元素打乱,即将列表内的元素随机排列
B. random.uniform(a,b)用于生成一个指定范围内的整数
C. random.choice(sequence)从序列中获取一个随机元素
D. random.sample(sequence, k)从指定序列中随机获取指定长度的片段并随机排列,sample函数不会修改原有序列
答案:B
解析:random.uniform(a,b)生成浮点数,不是整数;整数用random.randint(a,b)。
10. 下列语句中,不能创建一个字典的是( )。
A. dict1={20:23}
B. dict2={}
C. dict3=dict2={(1,2):3}
D. dict4={[1,2]:3}
答案:D
解析:字典的键必须可哈希(不可变类型),列表[1,2]可变,不能作为键。
11. 下列数据类型中,不支持分片操作的是( )。
A. 字符串
B. 列表
C. 字典
D. 元组
答案:C
解析:字典是无序的键值对集合,不支持切片(slice)操作。
12. 下面代码的执行结果是( )。
w,j=9.0,99.0
print(complex(w,j))
A. (9+99j)
B. (9.0+99j)
C. (9.0+99.0j)
D. (9.0+0j)
答案:A
解析:complex(9.0,99.0) → (9+99j)
13. 下面代码的输出结果是( )。
w= 0x101+0o10
print(w)
A. 65
B. 265
C. 256
D. 257
答案:B
解析:0x101=257(十六进制),0o10=8(八进制),257+8=265。
14. 下列选项不正确的是( )。
s="ab&cd"
A. s.split("&")结果为['ab', 'cd']
B. str(list(s))==s 的结果为False
C. 语句list(s).remove("1")的值为:'b'
D. 语句list(s).pop(1)的值为:'b'
答案:C
解析:list(s).remove("1")错误:原列表不含"1",且remove返回None,不是'b'。
15. 使用什么函数,可以打开一个文件( )。
A. open()
B. close()
C. read()
D. write()
答案:A
解析:打开文件用open(),关闭用close(),读写用read()/write()。
二、填空题(共5小题,每题2分,共10分)
1.IDLE是Python集成开发环境,其中D的英文全称是__________。
答案:Development
解析:IDLE = Integrated Development and Learning Environment。
2.表达式divmod(-6.5,3)的结果是__________。
答案:(-3.0, 2.5)
解析:divmod(a,b)返回(a//b, a%b),-6.5//3=-3.0,余数=-6.5 - (-3.0*3)=2.5。
3.已知x=[1,2]那么连续执行y=x和y.append(3)语句之后,x的值为__________。
答案:[1,2,3]
解析:y=x使y和x指向同一列表,y.append(3)修改共享列表,x也变化。
4.语句print("1","2","3",sep="*",end="=6")的输出结果为__________。
答案:1*2*3=6
解析:sep="*"设置分隔符为*,end="=6"设置结尾字符串。
5.Python类的构造方法是__________,它在生成对象时被调用,可以用来进行一些初始化的操作。
答案:__init__( )
解析:构造方法在创建对象时自动调用,用于初始化对象属性。
三、程序分析题(共3小题,每题6分,共18分)
1. 分析下列程序,输出结果为__________________。
class Test:
s=15
def print_num(self):
s=16
self.s=s*2
print(s,self.s)
test=Test()
test.print_num()
print(test.s,Test.s)
答案:
16 32
32 1
解析:
类变量Test.s=15
方法内局部变量s=16,self.s=32(实例变量)
打印局部s=16和self.s=32
最后打印实例变量test.s=32和类变量Test.s=15
2. 分析下列程序,输出结果为________。
s=0
def myadd(x,y):
global s
s+=x+y
return x+y
print(myadd(1,2),end="*")
print(myadd(3,4),end="*")
print(s)
答案:3*7*10
解析:
myadd(1,2)返回3,全局s=0+3=3,打印3*
myadd(3,4)返回7,全局s=3+7=10,打印7*
最后打印s=10
3. 分析下列程序,输出结果为________。
s={1:2,2:3,3:4}
print(s.pop(1))
s[5]=6
del s[2]
print(s)
答案:
2
{3: 4, 5: 6}
解析:
s.pop(1)删除键1并返回值2
添加{5:6},删除键2
剩余{3:4, 5:6}
四、程序设计题(共42分)
1. 程序编写程序,利用自定义函数,输出 m~n 之间的所有的素数,素数之间以逗号分隔。(其中m,n是由用户输入的正整数,m大于等于2)。(8分)
答案:
def su(a,b):
for i in range(a,b+1):
flag=True
for j in range(2,i):
if i%j==0:
flag=False
break
if flag:
print(i,end=',')
m,n=eval(input("请输入两个正整数:"))
su(m,n)
解析:
函数定义:su(a,b) 函数用于判断并输出 a 到 b 之间的素数
素数判断逻辑:
外层循环遍历 a 到 b 之间的每个数 i
内层循环检查 i 是否能被 2 到 i-1 之间的数整除
如果能被整除,设置 flag=False 并跳出内层循环
如果 flag 仍为 True,说明 i 是素数,输出该数
输入处理:使用 eval(input()) 同时输入两个正整数 m 和 n
输出格式:使用 end=',' 使输出的素数之间用逗号分隔
2. 程序编写程序,输出以下图形(注意:每行星号之间需要加入一个空格)。(8分)
* * * * * * * * *
* * * * * * *
* * * * *
* * *
答案:
for i in range(1,5):
print("* "*(11-2*i))
解析:
行数控制:range(1,5) 控制输出4行
每行星号数:使用公式 11-2*i 计算每行的星号数量
第1行(i=1):11-2×1=9个星号
第2行(i=2):11-2×2=7个星号
第3行(i=3):11-2×3=5个星号
第4行(i=4):11-2×4=3个星号
输出格式:"* " 包含星号和空格,实现题目要求的间距
3. 程序编写,利用递归函数求出 1!+3!+5!+7!+……+n!的值。(12分)
答案:
def jie(n):
if n==1:
return 1
else:
return n*jie(n-1)
n=int(input("请输入一个奇数n:"))
s=0
for i in range(1,n+1,2):
s+=jie(i)
print(s)
解析:
递归阶乘函数:
基准情况:n==1 时返回 1
递归情况:n*jie(n-1) 计算 n 的阶乘
主程序逻辑:
输入奇数 n
使用 range(1, n+1, 2) 生成所有奇数(步长为2)
累加每个奇数的阶乘到变量 s
输出最终结果
4. GUI编程:请设计一个进制转换程序,该程序功能是将十进制整数转换成其他进制数。
图中展示了一个GUI界面,界面上有三个按钮,分别用于选择二进制、八进制和十六进制转换。有两个输入框用于输入和显示转换结果。(14分)
import tkinter as tk
win=tk.Tk()
########################################################################
########################################################################
win.①______('进制转换')
v=tk.IntVar()
r1=tk.Radiobutton(win,text='二进制',variable=v,value=2)
r1.grid(row=0,column=0)
r2=tk.Radiobutton(win,text='八进制',variable=v,value=8)
r2.grid(row=0,column=1)
r3=tk.Radiobutton(win,text='十六进制',variable=v,value=16)
r3.grid(row=0,column=2)
lb1=tk.Label(win,text='转换前')
lb1.grid(row=1,column=0)
lb2=tk.Label(win,text='转换后')
lb2.grid(row=2,column=0)
ent1=tk.Entry(win)
ent1.grid(row=1,column=1,columnspan=2)
ent2=tk.Entry(win)
ent2.grid(row=2,column=1,columnspan=2)
tk.Button(win,text='确定',command=zh).grid(row=3,column=0)
tk.Button(win,text='清除',command=qc).grid(row=3,column=1)
tk.Button(win,text='退出',command=win.②______).grid(row=3,column=2)
win.③________( )
(1) 程序填空。(每空 2 分)
①__________、②________、③________
答案:① title ② destroy/quit ③ mainloop( )
解析:
① title(设置窗口标题)
② destroy 或 quit(退出窗口)
③ mainloop(启动事件循环)
(2) 请设计程序,进行进制转换。(6 分)
答案:
num=eval(ent1.get())
if v.get()==2:
jz=bin(num)[2:]
if v.get()==8:
jz = oct(num)[2:]
if v.get()==16:
jz = hex(num)[2:]
ent2.delete(0,'end')
ent2.insert(0,jz)
解析:使用内置函数bin( )、oct( )、hex( )将十进制转为对应进制数并使用切片将前缀切除
(3) 请设计程序,将输入框中的内容删除。(2 分)
答案:
v.set(0)
ent1.delete(0,'end')
ent2.delete(0, 'end')
解析:将动态变量v的值置为0,再将输入框ent1、ent2清空。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:本冲刺卷严格依据安徽省计算机类高考考纲编写,依托《Python程序编写入门》(高教版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
安徽省计算机类
《Python程序编写入门》高教版
高频考点冲刺卷(五)原卷版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题 (本大题共15小题,每题2分,共30分)
1.下列对Python程序设计语言描述错误的是( )。
A. Python是一种面向对象的程序设计语言
B. Python是一种静态的程序设计语言
C. Python是一种动态的程序设计语言
D. Python是一种解释型的程序设计语言
2.下列变量名命名正确的是( )。
A. print!
B. is
C. 9else
D. break_pass
3. Python表达式 12//7-2+5*8/4%5/2 的值为( )。
A. 1
B. -1
C. -1.0
D. 1.0
4. type(int("123",8))语句的运行结果是( )。
A. <class 'str'>
B. <class 'int'>
C. <class 'list'>
D. <class 'tuple'>
5. 下列赋值语句执行不正确的是( )。
A. x=y=2
B. x,y=2
C. x=2,3,2
D. x=(y=2)
6. 执行 x="abc2023abc"; y=x.replace("abc",""")后的x,y的值分别为( )。
A. x="2023abc" y="abc2023abc"
B. x="abc2023abc" y="2023"
C. x="abc2023" y="abc2023abc"
D. x="2023" y="abc2023abc"
7. 语句 eval("-8+6/5")的执行结果是( )。
A. -9.2
B. -8+6/5
C. "-8+6/5"
D. -6.8
8. 字符串 s="a
b\tc\\", 则 print(len(s))的值为( )。
A. 9
B. 8
C. 7
D. 6
9. 下列关于random模块中的函数功能描述错误的是( )。
A. random.shuffle(x)用于将一个列表中的元素打乱,即将列表内的元素随机排列
B. random.uniform(a,b)用于生成一个指定范围内的整数
C. random.choice(sequence)从序列中获取一个随机元素
D. random.sample(sequence, k)从指定序列中随机获取指定长度的片段并随机排列,sample函数不会修改原有序列
10. 下列语句中,不能创建一个字典的是( )。
A. dict1={20:23}
B. dict2={}
C. dict3=dict2={(1,2):3}
D. dict4={[1,2]:3}
11. 下列数据类型中,不支持分片操作的是( )。
A. 字符串
B. 列表
C. 字典
D. 元组
12. 下面代码的执行结果是( )。
w,j=9.0,99.0
print(complex(w,j))
A. (9+99j)
B. (9.0+99j)
C. (9.0+99.0j)
D. (9.0+0j)
13. 下面代码的输出结果是( )。
w= 0x101+0o10
print(w)
A. 65
B. 265
C. 256
D. 257
14. 下列选项不正确的是( )。
s="ab&cd"
A. s.split("&")结果为['ab', 'cd']
B. str(list(s))==s 的结果为False
C. 语句list(s).remove("1")的值为:'b'
D. 语句list(s).pop(1)的值为:'b'
15. 使用什么函数,可以打开一个文件( )。
A. open()
B. close()
C. read()
D. write()
二、填空题(共5小题,每题2分,共10分)
1.IDLE是Python集成开发环境,其中D的英文全称是__________。
2.表达式divmod(-6.5,3)的结果是__________。
3.已知x=[1,2]那么连续执行y=x和y.append(3)语句之后,x的值为__________。
4.语句print("1","2","3",sep="*",end="=6")的输出结果为__________。
5.Python类的构造方法是__________,它在生成对象时被调用,可以用来进行一些初始化的操作。
三、程序分析题(共3小题,每题6分,共18分)
1. 分析下列程序,输出结果为__________________。
class Test:
s=15
def print_num(self):
s=16
self.s=s*2
print(s,self.s)
test=Test()
test.print_num()
print(test.s,Test.s)
2. 分析下列程序,输出结果为________。
s=0
def myadd(x,y):
global s
s+=x+y
return x+y
print(myadd(1,2),end="*")
print(myadd(3,4),end="*")
print(s)
3. 分析下列程序,输出结果为________。
s={1:2,2:3,3:4}
print(s.pop(1))
s[5]=6
del s[2]
print(s)
四、程序设计题(共42分)
1. 程序编写程序,利用自定义函数,输出 m~n 之间的所有的素数,素数之间以逗号分隔。(其中m,n是由用户输入的正整数,m大于等于2)。(8分)
2. 程序编写程序,输出以下图形(注意:每行星号之间需要加入一个空格)。(8分)
* * * * * * * * *
* * * * * * *
* * * * *
* * *
3. 程序编写,利用递归函数求出 1!+3!+5!+7!+……+n!的值。(12分)
4. GUI编程:请设计一个进制转换程序,该程序功能是将十进制整数转换成其他进制数。
图中展示了一个GUI界面,界面上有三个按钮,分别用于选择二进制、八进制和十六进制转换。有两个输入框用于输入和显示转换结果。(14分)
import tkinter as tk
win=tk.Tk()
########################################################################
########################################################################
win.①______('进制转换')
v=tk.IntVar()
r1=tk.Radiobutton(win,text='二进制',variable=v,value=2)
r1.grid(row=0,column=0)
r2=tk.Radiobutton(win,text='八进制',variable=v,value=8)
r2.grid(row=0,column=1)
r3=tk.Radiobutton(win,text='十六进制',variable=v,value=16)
r3.grid(row=0,column=2)
lb1=tk.Label(win,text='转换前')
lb1.grid(row=1,column=0)
lb2=tk.Label(win,text='转换后')
lb2.grid(row=2,column=0)
ent1=tk.Entry(win)
ent1.grid(row=1,column=1,columnspan=2)
ent2=tk.Entry(win)
ent2.grid(row=2,column=1,columnspan=2)
tk.Button(win,text='确定',command=zh).grid(row=3,column=0)
tk.Button(win,text='清除',command=qc).grid(row=3,column=1)
tk.Button(win,text='退出',command=win.②______).grid(row=3,column=2)
win.③________( )
(1) 程序填空。(每空 2 分)
①__________、②________、③________
(2) 请设计程序,进行进制转换。(6 分)
(3) 请设计程序,将输入框中的内容删除。(2 分)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$