内容正文:
:
2024学年度安徽新华高级技工学校22级(7月)月考质量检测
Python试卷
考试时间:60分钟命题人:姚健试卷满分:90分
题号
四
总分
得分
注意:单选题答案要填写在答题卡内;姓名填写在指定位置,否则均按照零分计算。
一、选择题(每题2分,共15题,总计30分)
1.'GEhao'.upper().lower().isalpha0的结果是()
A.gehao B.GEhao
C.False D.True
2.0x10+0b11+0o12的值为()
A.20B.28
那
C.29D.26
3.下列列表类型转换不合法的是()
A.1ist(123)
B.1ist((123')
C.1ist({1,2,3})D.1ist({1:2})
4.下列选项中,没有错误的是()
A.a={}a这是空集合B.b={1,2,(3,4,[5,6])月
O
C.c={1,2,3,(4,5)}
D.{1,2,3,(4,5)}是可变集合,可以使用索引
5.x=1ist(set(C123')时,x的数据类型为()
A.字符串B.集合C.元组D.列表
6.x=12,34;print(type(x)的运行结果是()
A.<class 'tuple'>B.<class 'str'>
蝶
C.<class 'int'>
D.<class 'float'>
7.{1:2,3:4,5:6.get(4,3)的运行结果是()
A.1B.2
C.3D.4
8.sum(1,2,3)的返回值为()
A.4B.5C.6D.报错
9.下面运算符优先级最高的是()
A.*B.>C.in D.and
10.当需要在字符串使用特殊字符时,Python使用
作为转义字符。()
A.\B./C.#D.%
11.不支持分片操作的是()
区
A.字符串B.列表C.字典D.元组
l2.random库的random..randrange(start,.stop[,step])函数的作用是()
A.生成一个[start,.stop)之间的随机小数
B.将序列类型中元素随机排列,返回打乱后的序列
C.生成一个[start,stop)之间以step为步数的随机整数
D.从序列类型(例如列表)中随机返回一个元素
第1页共2页
13.下列不属于参数按函数调用方式进行分类的是()
A.位置参数B.不定长参数
C.可变参数D.默认参数
14.以下选项中,输出结果为False的是()
A.False>=0
B.True>=1
C.False==0 and 5<=4
D.5!='hello'
l5.代码print([m+n for m in'AB'for n in'CD'])的输出结果是()
A.[“A”,“B”,“C”,“D”]
B.['AC','AD'.'BC',BD']
C.[“AC”,“BC”,“AD”,“BD”]
D.错误
二、填空题(每题2分共9题总计18分)
16.根据计算机执行机制,静态语言采用编译方式执行,脚本语言采用
执行。
17.st="对口升学我们要好好学习呀"表达式st[:1:-2]的值为
18.表达式divmod(7,-2)的结果是
0
19.表达式str([1,2,3])的结果是
20.int(1.9)的返回值为
21.s=[1,5,3,2],执行s.sort(0后s的值为
22.g:l,'h:2,'a':3}.的运行结果为dict_keys(g,'h,'a'])。
23.文件包括文本文件和文件两种类型。
24.round(2.5)的返回值为
三、程序分析题(每题6分共3题总计18分)
25.以下是计算1+1/2+1/3+…+1/n<10的n的最大值的程序,补充代码。
n=1
s=0
while s<10:
①
n=n+1
print(②)
①
②
26.有一筐鸡蛋。两个一取余1,三个一取余2,四个一取余3,五个一取刚好不剩,问最少有几个?以下是解决此问题
的代码,请补充完整。
a=l
while True:
if a%2==1 and a%3==2 and a%4==3 and a%5==0:
print(a)
①
else:
②
①
②
第2页共2页
27.写出下列代码的运行结果:
s='hgfsaf'
for i in s:
if i in 'hfgs':
continue
print (i,end=')
else:
print ("hello")
四、程序设计题(共4题每题6分共24分)
28.键盘输入一个正整数,对其进行质因数分解。如:60=2*2*3*5(6分)
29.键盘输入一个字符串,统计字符串中字符的个数,并按照字符个数升序排序。运行结果如下所示:(6分)
请输入字符串:Heelllo
[(H',1),('o',1),('e',2),(1',3)]
30.键盘输入两个正整数a,b使用辗转相除法求最大公约数和最小公倍数(6分)
31.随机生成10个1-100之间的整数,然后使用选择排序从大到小进行排序(6分)
第3页共4页
形…………O…………1…………○…………张…………O……………………○…………
※必※※易※※※必磊※※[1※※韩※※平必必童必※业※必※※
…………○…………
…………O…………1…………O…………张…………○…………☑……………
C
O
参考答案
一、选择题
.·
1-5.DCACD 6-10.ACDAA 11-15.CCCCB
二、填空题
数
16.解释方式
17.“呀学好们学”
18.(-4,-1)
19."[1,2,3]"
20.1
O
21.[1,2,3,5]
22.keys()
.
23.二进制
24.2
小
三、程序分析题
25.①s+=1/n
②n-1
26.①break
②a+=1/a=a+1
0
27.ahello
四、程序设计题
28.
1st=[]
n=int(input("请输入一个正整数:")
t=n
i=2
.:
while n!=1:
if n%i==0:
O
1st.append(str(i))
n//=i
i-2
else:
i+=1
K
print(f"(t)={'*'.join(Ist)}")
29.
st=input("请输入字符串:")
dic={
for i in st:
dic[i]=dic.get(i,0)+1
第5页共2页
lst=list(dic.items())
1st.sort (key=lambda x:x[1])
print(Ist)
30.
a,b=eval(input("请输入a,b两个正整数:"))
if a<b:
a,b=b,a
m=a*b
while a%b!=0:
a,b=b,a%b
print("最大公约数:”,b)
print("最小公倍数:"”,m//b)
31.
import random
1st [random.randint(1,100)for i in range(10)]
for i in range(9):
for j in range(i +1,10):
if lst[i]1st[j]:
lst[i],lst[j]=lst[j],lst[i]
print(1st)
第6页共2页