《Python程序编写入门》(高教版)安徽省(分类招生和对口招生)计算机类 高频考点冲刺卷(七)
|
2份
|
13页
|
156人阅读
|
1人下载
内容正文:
编写说明:本冲刺卷严格依据安徽省计算机类高考考纲编写,依托《Python程序编写入门》(高教版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
安徽省计算机类
《Python程序编写入门》高教版
高频考点冲刺卷(七)原卷版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题 (本大题共15小题,每题2分,共30分)
1. 下列选项中( )表示的不属于字符串。
A. "abc" B. ""ge"" C. """abc""" D. '''abc'''
2. oct(12)的返回值是( )。
A. 12 B. '12' C. '012' D. '0o14'
3. eval("123")的返回值为( )。
A. 123 B. 123.0 C. '123' D. '123.0'
4. max('a','A','B','b')的返回值为( )。
A. 'A' B. 'B' C. 'a' D. 'b'
5. type((1))的返回值是( )。
A. <class 'int'> B. <class 'list'>
C. <class 'tuple'> D. <class 'dict'>
6. 序列类型不包括( )。
A. 字符串 B. 列表 C. 元组 D. 字典
7. ([1,2],[3],[4,5],[6,7]).index(6)的返回值是( )
A. 3 B. 4 C. 6 D. 报错
8. print([1,2,3].insert(-1,5))的结果是( )
A. [1,2,3,5] B. None
C. [1,2,5,3] D. [1,2,3,3,1]
9. 以下可以用于集合间的操作符是( )
A. + B. - C. * D. /
10. 在标准自定义函数中,下列属于不定长参数运算符的是( )
A. * B. # C. & D. !
11. 列字典合法的是( )
A. {'a':1,[2,3]:4}
B. {'a':1,{2,3}:4}
C. {'a':1,(2,3,[5,6]):4}
D. {'a':1,(2,3):4}
12. 生成一个[1,10)之间的随机整数的函数是( )
A. random.randint(1,10)
B. random.random()
C. random.randrange(1,10)
D. random.uniform(1,10)
13. 列选项中,不属于结构化程序设计特征的是( )
A. 可封装 B. 模块化 C. 自顶向下 D. 逐步求精
14. 列选项中,对于递归程序的描述错误的是( )
A. 结构清晰 B. 执行效率高 C. 递归程序都可以有非递归编写方法 D. 一定要有基例
15. 关于函数的关键字参数使用限制,下列选项中描述错误的是( )
A. 关键字参数顺序无限制
B. 不得重复提供实际参数
C. 关键参数位于位置参数之后
D. 关键参数位于位置参数之前
二、填空题(共10小题,每题2分,共20分)
1. print('g','h',sep='#',end='%')的结果是__________。
2. 表达式 60&13的运行结果是__________。
3. 表达式 chr(ord('A')+1)的结果是__________。
4. float(True)的返回值为__________。
5. pow(2,3,5)的结果是__________。
6. print(7+4j.imag)的运行结果为__________。
7. {'g':1, 'h':2, 'a':3}.________的运行结果为dict_items([('g', 1), ('h', 2), ('a', 3)]。
8. 在Python读写文件时,文件的打开使用________函数。
9. 在random模块中________的作用是将列表中的元素随机打乱顺序。
10. 一般来说类中定义的方法,第一个参数默认为________。
三、程序分析题(共3小题,每题6分,共18分)
1. 输出200内不能被3整除的数,请补全代码。
i=1
while i<201:
if ______①________:
print(i,end=',')
________②________
①__________ ②_________ (每空3分 共6分)
2. 输入一个大于1的整数,输出这个数的所有因子(能被它整除的数),请补全代码。
def ys(n):
ls=[]
for i in range(1,n+1):
if ____①____:
ls.append(i)
____②____
ls=[]
n=int(input())
print(ys(n))
①__________ ②_________
3. 以下程序运行结果是__________________。
s=[1,3,7,5,6,4,8,2]
n=len(s)
for i in range(4):
for j in range(n-i-1):
if s[j]<s[j+1]:
s[j],s[j+1]=s[j+1],s[j]
print(s)
四、程序设计题(共32分)
1. 输入整数n,求1+1/2+2/3+3/5+5/8+8/13+13/21+……的前n项和(结果保留两位小数)。(10分)
2. 从1至1000间随机产生一个正整数,输入一个猜测的正整数,直至猜对为止。如果输入的整数超过范围,请输出相关错误提示"超出范围",不算猜的次数。并重新输入,统计猜对时,共猜了多少次。(10分)
3. 编写程序,计算s的值并输出(要求用循环实现)。 s=9+98+987+987+9876+……+987654321+9876543210(12分)
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:本冲刺卷严格依据安徽省计算机类高考考纲编写,依托《Python程序编写入门》(高教版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
安徽省计算机类
《Python程序编写入门》高教版
高频考点冲刺卷(七)解析版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题 (本大题共15小题,每题2分,共30分)
1. 下列选项中( )表示的不属于字符串。
A. "abc" B. ""ge"" C. """abc""" D. '''abc'''
答案:B
解析:""ge"" 不是合法的字符串表示法。字符串应用一对引号包围,B中的双引号不匹配。
2. oct(12)的返回值是( )。
A. 12 B. '12' C. '012' D. '0o14'
答案:D
解析:oct(12) 将十进制12转为八进制,返回字符串 '0o14'(八进制的14等于十进制的12)。
3. eval("123")的返回值为( )。
A. 123 B. 123.0 C. '123' D. '123.0'
答案:A
解析:eval("123") 将字符串转为Python表达式求值,这里直接返回整数 123。
4. max('a','A','B','b')的返回值为( )。
A. 'A' B. 'B' C. 'a' D. 'b'
答案:D
解析:字符比较按ASCII码,小写字母 > 大写字母,'b'(98)是最大的。
5. type((1))的返回值是( )。
A. <class 'int'> B. <class 'list'>
C. <class 'tuple'> D. <class 'dict'>
答案:A
解析:(1) 是整数(括号只改变优先级),(1,) 才是元组。
6. 序列类型不包括( )。
A. 字符串 B. 列表 C. 元组 D. 字典
答案:D
解析:字典是映射类型,不是序列类型(序列有顺序、可索引、可切片)。
7. ([1,2],[3],[4,5],[6,7]).index(6)的返回值是( )。
A. 3 B. 4 C. 6 D. 报错
答案:D
解析:元组内是4个列表,index(6) 是查找元素6,但元素是列表,不是6,所以报错。
8. print([1,2,3].insert(-1,5))的结果是( )。
A. [1,2,3,5] B. None
C. [1,2,5,3] D. [1,2,3,3,1]
答案:B
解析:insert() 方法修改列表但不返回值,返回 None,所以 print 输出 None。
9. 以下可以用于集合间的操作符是( )。
A. + B. - C. * D. /
答案:B
解析:集合支持 -(差集)、|(并集)、&(交集)、^(对称差集),不支持 +、*、/。
10. 在标准自定义函数中,下列属于不定长参数运算符的是( )。
A. * B. # C. & D. !
答案:A
解析:*args 用于接收不定数量的位置参数,**kwargs 用于关键字参数。
11. 下列字典合法的是( )。
A. {'a':1,[2,3]:4}
B. {'a':1,{2,3}:4}
C. {'a':1,(2,3,[5,6]):4}
D. {'a':1,(2,3):4}
答案:D
解析:字典的键必须可哈希(不可变类型)。A、B、C 中分别有列表、集合、含列表的元组作为键,都是非法的。
12. 生成一个[1,10)之间的随机整数的函数是( )。
A. random.randint(1,10)
B. random.random()
C. random.randrange(1,10)
D. random.uniform(1,10)
答案:C
解析:random.randrange(1,10) 生成 [1,10) 的随机整数;randint(1,10) 包含10;uniform 生成浮点数。
13. 列选项中,不属于结构化程序设计特征的是( )。
A. 可封装 B. 模块化 C. 自顶向下 D. 逐步求精
答案:A
解析:结构化程序设计特征:模块化、自顶向下、逐步求精。“可封装”是面向对象的特征。
14. 列选项中,对于递归程序的描述错误的是( )。
A. 结构清晰 B. 执行效率高 C. 递归程序都可以有非递归编写方法 D. 一定要有基例
答案:B
解析:递归程序结构清晰,但执行效率通常较低(函数调用开销大)。
15. 关于函数的关键字参数使用限制,下列选项中描述错误的是( )。
A. 关键字参数顺序无限制
B. 不得重复提供实际参数
C. 关键参数位于位置参数之后
D. 关键参数位于位置参数之前
答案:D
解析:关键字参数必须在位置参数之后,不能在前。
二、填空题(共10小题,每题2分,共20分)
1. print('g','h',sep='#',end='%')的结果是__________。
答案:'g#h%'
解析:sep='#' 设置分隔符,end='%' 设置结尾字符。
2. 表达式 60&13的运行结果是__________。
答案:12
解析:60 & 13 按位与:60 = 00111100,13 = 00001101,结果 00001100 = 12。
3. 表达式 chr(ord('A')+1)的结果是__________。
答案:'B'
解析:ord('A') = 65,加1得66,chr(66) = 'B'。
4. float(True)的返回值为__________。
答案:1.0
解析:True 转为整数是1,转为浮点数是 1.0。
5. pow(2,3,5)的结果是__________。
答案:3
解析:pow(2,3,5) = 2³ mod 5 = 8 mod 5 = 3。
6. print(7+4j.imag)的运行结果为__________。
答案:11.0
解析:4j.imag 取虚部4.0,7 + 4.0 = 11.0。
7. {'g':1, 'h':2, 'a':3}.________的运行结果为dict_items([('g', 1), ('h', 2), ('a', 3)]。
答案:items( )
解析:items() 方法返回键值对视图。
8. 在Python读写文件时,文件的打开使用________函数。
答案:open( )
解析:打开文件用内置函数 open()。
9. 在random模块中________的作用是将列表中的元素随机打乱顺序。
答案:shuffle( )
解析:random.shuffle(list) 将列表元素随机打乱。
10. 一般来说类中定义的方法,第一个参数默认为________。
答案:self
解析:类的方法第一个参数通常为 self,表示实例自身。
三、程序分析题(共3小题,每题6分,共18分)
1. 输出200内不能被3整除的数,请补全代码。
i=1
while i<201:
if ______①________:
print(i,end=',')
________②________
①__________ ②_________ (每空3分 共6分)
答案:① i%3==0 ② i+=1 或 i=i+1
解析:
① 判断条件应为 i % 3 != 0(不能被3整除)
② 循环变量递增:i += 1
2. 输入一个大于1的整数,输出这个数的所有因子(能被它整除的数),请补全代码。
def ys(n):
ls=[]
for i in range(1,n+1):
if ____①____:
ls.append(i)
____②____
ls=[]
n=int(input())
print(ys(n))
①__________ ②_________
答案:① n%i==0 ② return ls
解析:
① 判断因子的条件:n % i == 0
② 函数应返回结果列表:return ls
3. 以下程序运行结果是__________________。
s=[1,3,7,5,6,4,8,2]
n=len(s)
for i in range(4):
for j in range(n-i-1):
if s[j]<s[j+1]:
s[j],s[j+1]=s[j+1],s[j]
print(s)
答案:[7, 6, 8, 5, 4, 3, 2, 1]
解析:
这是冒泡排序,但只外循环4次(不是完全排序)
每次把较大的数往后移,循环4次后前4大的数移到后面
结果:[7, 6, 8, 5, 4, 3, 2, 1]
四、程序设计题(共32分)
1. 输入整数n,求1+1/2+2/3+3/5+5/8+8/13+13/21+……的前n项和(结果保留两位小数)。(10分)
答案:
n=int(input("请输入整数n:"))
a,b=1,1
s=0
for i in range(1,n+1):
s+=a/b
a,b=b,a+b
print("%.2f"%s)
解析:利用斐波那契数列性质,每次累加 a/b 后更新a、b。
2. 从1至1000间随机产生一个正整数,输入一个猜测的正整数,直至猜对为止。如果输入的整数超过范围,请输出相关错误提示"超出范围",不算猜的次数。并重新输入,统计猜对时,共猜了多少次。(10分)
答案:
import random
count=0
n=random.randint(1,1000)
print(n)
while True:
num=int(input("请输入一个1-1000之间的正整数:"))
count += 1
if num<1 or num>1000:
count-=1
print("超出范围")
elif num==n:
break
print(f'共猜了{count}次')
解析:用循环持续猜数,范围错误时恢复计数。
3. 编写程序,计算s的值并输出(要求用循环实现)。 s=9+98+987+987+9876+……+987654321+9876543210(12分)
答案:
s=0
st='9876543210'
for i in range(1,11):
s+=int(st[:i])
print(s)
解析:巧妙利用字符串切片生成每一项:'9', '98', '987', ..., '9876543210'。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$