编程电子学会python三级官方模拟试题word练习.docx
《编程电子学会python三级官方模拟试题word练习.docx》由会员分享,可在线阅读,更多相关《编程电子学会python三级官方模拟试题word练习.docx(26页珍藏版)》请在冰豆网上搜索。
![编程电子学会python三级官方模拟试题word练习.docx](https://file1.bdocx.com/fileroot1/2023-1/9/0132a80a-414a-45af-ba07-485d2ff67672/0132a80a-414a-45af-ba07-485d2ff676721.gif)
编程电子学会python三级官方模拟试题word练习
【编程】电子学会python三级官方模拟试题word练习
一、选择题
1.下面()是Python合法的变量名
A.int32B.40XLC.selfD.name
2.在Python中,判断n是否为偶数的表达式是()
A.n/2=0
B.n%2==0
C.n%2=0
D.n/2==0
3.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1)B.x,y=y,xC.x=1;y=1D.x=y=1
4.Python中,赋值语句,“c=c-b”等价于()
A.b-=c
B.c-b=c
C.c-=b
D.c==c-b
5.下列选项中,合法的Python变量名是()
A.printB.speedC.PD.a#2
6.关于Python语言的特点,以下选项描述正确的是()
A.Python语言不支持面向对象B.Python语言是解释型语言
C.Python语言是编译型语言D.Python语言是非跨平台语言
7.利用Word软件编辑了一篇关于“Python简介”的文档,部分界面如图所示,下列说法正确的是()
A.该文档中的有2个用户添加了2处批注
B.该文档中图片采用的环绕方式为上下型
C.该文档中总共有4处修订
D.若要对文档中所有的“Python”文字设置为“红色倾斜”格式,用自动更正功能最合适
8.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
9.下列选项中,不属于Python语言基本数据类型的是()
A.str
B.int
C.float
D.char
10.下列选项中,属于Python输出函数的是()。
A.random()B.print()C.sqrt()D.input()
11.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
12.已知字符串变量x的值是“H”,字符“A”的ASCII值是65,则python表达式chr(ord(x)+2)的值是()
A.‘I’B.‘J’C.73D.74
13.下列不是Python中所有循环必须包含的是()。
A.冒号B.循环次数C.循环体D.缩进
14.Python语言属于()
A.自然语言B.汇编语言C.机器语言D.高级语言
15.下列序列拼接错误的是()
A.list=[None]*4
B.msg=“Python”,”语言”
C.tup=“/”.join((“123”,”234”))
D.set={1,2,3}+{4,5,6}
16.Python中幂运算(指数运算)的运算符为()。
A.*B.**C.%D.//
17.运行下列Python程序,结果正确的是()
a=32
b=14
c=a%b
print(c)
A.2B.4C.32D.14
18.在python中,运行下列程序,正确的结果是()。
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
19.小王编写了出租车收费的python程序,代码如下:
s1=float(input('请输入行驶路程(公里):
'))
ifs1<=3:
f=10
elifs1<=10:
f=10+2.5*(s1-3)
else:
f=27.5+3.5*(s1-10)
print(f)
要测试所有分支程序代码是否正确,以下测试数据中,最恰当的一组是()
A.3,8B.-1,5,12
C.1,6,20D.3,12,20
20.王明录入程序代码并运行,出现错误提示(如下图所示),分析原因并改错,正确的是()
A.变量名1w太短B.应该写成float(input("输入体重(kg):
")=1w
C.将float改为intD.变量名1w不符合Python语言规范,不能以数字开头
21.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是()
A.(R1+R2)/(R1*R2)B.R1+R2/(R1*R2)
C.R1*R2/R1+R2D.R1*R2/(R1+R2)
22.队列在Python中,用()实现队列的创建,队列的基本操作:
()()()()线性数据结构又称线性表。
A.随机;入队;出队;求队长;判队空B.列表;入队;出队;求队长;判队空
C.列表;随机;出队;求队长;判队空D.入队;随机;列表;求队长;判队空
23.在VB中,下列与表达式Len("python")+20的值相等的是()
A.Int(Rnd*26)+1B.Val("20")+16mod9
C.Mid("Hello2019",6,2)+"6"D.abs(Sqr(16)–30)
24.要利用Python通过数组绘制拟合曲线图,必须要用到的外部库是()
A.time库
B.random库
C.turtle库
D.matplotlib库
25.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于()
A.算术表达式B.关系表达式C.逻辑表达式D.日期表达式
26.运行下列Python程序,输出结果为True,则空白处应为()
a=15
b=46
if__________:
print(‘True’)
else:
print(‘Flase’)
A.a=bB.a>bC.a27.下列Python程序段运行的结果是()
x=0
foriinrange(1,20,3):
x=x+i
print(x)
A.80B.190C.70D.210
28.已知字符串a="python",则a[1:
3]的值为()
A."pyth"B."pyt"C."py"D."yt"
29.已知字符串a="python",则a[1]的值为()
A."p"B."py"C."Py"D."y"
30.下列不被python所支持的数据类型是()
A.charB.floatC.intD.list
二、程序填空
31.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:
(1)在以上Python程序中,变量Y的数据类型是_________。
(2)在以上Python程序中,第8行横线处的代码是_________。
(3)通过观察,气温釆样间隔时间是_________个小时。
32.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。
“奇校验”的原理:
在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。
例如:
接收到的每个字节及校验码
1的个数
传输正误
100101001
4
错误
011010101
5
正确
101011010
5
正确
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程__________(选填:
是/否)存在差错。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
s=input("请输入9位二进制编码:
")
code={10:
"A",11:
"B",12:
"C",13:
"D",14:
"E",15:
"F"}
k=0;p=0;ans=“”
foriins:
#统计9位二进制编码中“1”的个数
k=k+int(i)
if____:
print("传输错误!
")
else:
print("传输正确!
")
forjinrange(0,8,4):
p=int(s[j:
j+4],2)
#int(x,[base]):
将x(字符串或者数字)按照base进制转换成整数
if0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:
",___
33.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。
许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。
但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。
小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。
为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。
现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。
于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。
A
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
11
66
116
329
438
582
652
714
756
925
B
E10
E9
E8
E7
E6
E5
E4
E3
E2
E1
35
116
215
271
309
428
576
772
806
950
Python程序如下:
A=[11,66,116,329,438,582,652,714,756,925]
B=[35,116,215,271,(5)__,428,576,772,806,950]
算法一:
myRank=
i=0
j=0
while(iif(A[i]
(6)______
i+=1
else:
myRank.append(B[j])
j+=1
while(imyRank.append(A[i])
i+=1
else:
while((7)______):
myRank.append(B[j])
j+=1
print(myRank)
算法二:
myRank=[0]*(len(A)+len(B))
i=0
j=0
k=0
while((8)_____):
k=i+j
if(i>=len(A)):
myRank[k]=B[j]
j+=1
elif(j>=len(B)):
myRank[k]=A[i]
i+=1
elif((9)_____):
myRank[k]=A[i]
i+=1
else:
myRank[k]=B[j]
j+=1
print(myRank)
34.某字符转置算法描述如下:
将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);
·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);
每一段中K个数据与K*K转置矩阵进行乘法运算;
将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。
乘法运算规则如下:
第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)
例如:
字符串s=PYTHON,区块大小K=4,的转置过程如下:
(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。
(2)请在划线处填入合适代码。
PrivateSubCommandl_Click()
Dima(1To100)AsInteger´存储字符串,长度不超过100个字符
Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10
Dimc(1To100)AsLong
DimsAsString,tmpAsString
DimkAsInteger,tAsInteger,iAsInteger,jAsInteger
DimnAsInteger,mAsInteger,lensAsInteger
s=Textl.Text´在Textl中输入原始字符串
k=Val(Text2.Text)´在Text2中输入区块大小K
Randomize
Fori=1Tok^2
b(i)=Int(Rnd*9)+1
tmp=tmp十Str(b(i))
IfiModk=0Then
List2.AddItemtmp
tmp="".
EndIf
Nexti
lens=Len(s):
n=lens
Fori=1Ton
tmp=Mid(s,i,1)
①__________
Listl.AddItemStr(a(i))
Nexti
DoWhilenModk<>0
n=n十1
a(n)=0
Listl.AddItemStr(a(n))
Loop
Fori=1Ton
m=(i―1)Modk+1
t=1
Forj=②__________
c(i)=a(j)*b((m-1)*k+t)+c(i)
t=t+1
Nextj
Nexti
Fori=1Ton
List3.AddItemStr(c(i))
Nexti
s=″″
Fori=1Tolens
③__________
s=s+Chr(t+64)}
Nexti
Text3.Text=s´在Text3中输出转置后的字符串
EndSub
35.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。
填写正确的代码,使程序完善
importmath
a=float(input("请输入方程系数a(!
=0):
"))
b=float(input("请输入方程系数b:
"))
c=float(input("请输入方程系数c:
"))
delta=b*b-4*a*c
ifdelta>________:
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
print("方程有两个不同的解",x1,x2)
elifdelta==0:
x1=________
print("方程有两个相同的解",x1)
else:
print("方程无解")
input("运行完毕,请按回车键退出...")
36.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[]
foriinrange(100,1000):
if_____________:
a.append(i)
total+=1
print("这群小朋友总的人数有:
")
forjinrange(len(a)):
print(____,end='、')
print('')
print('可能情况数为:
',total,'种')
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
37.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
38.猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
39.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
40.阅读程序。
分析有关多项式的代码并回答问题。
求1!
+2!
+3!
+……+20!
的和。
n=0
s=0
t=1
forninrange(1,21):
t*=n
s+=t
print(s)
(1)n的作用是________________。
(2)s的作用是______________。
(3)t的初值必须赋值为1,这是因为_________。
(4)t*=n的等价语句是__________
(5)s+=t的等价语句是______。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.ACD
【详解】
本题主要考查Python变量的命名。
Python变量的命名不能以数字开头(可以以下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
解析:
ACD
【详解】
本题主要考查Python变量的命名。
Python变量的命名不能以数字开头(可以以下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
2.B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。
3.A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:
A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
4.C
【详解】
本题主要考查Python中常用运算符。
Python中“-=”是减法赋值运算符,c-=b等效于c=c-b,因此C选项正确。
【点睛】
解析:
C
【详解】
本题主要考查Python中常用运算符。
Python中“-=”是减法赋值运算符,c-=b等效于c=c-b,因此C选项正确。
【点睛】
5.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
6.B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
解析:
B
【详解】
本题主要考查Python语言。
Python语言是解释型语言,支持面向对象和跨平台使用,故本题选B选项。
7.C
【详解】
本题考查WORD相关知识。
该文档中的有1个用户a添加了2处批注,A错。
该文档中图片采用的环绕方式为四周或者紧密,但不是上下型,B错。
若要对文档中所有的Python文字设置为红色倾斜格式
解析:
C
【详解】
本题考查WORD相关知识。
该文档中的有1个用户a添加了2处批注,A错。
该文档中图片采用的环绕方式为四周或者紧密,但不是上下型,B错。
若要对文档中所有的Python文字设置为红色倾斜格式,则用替换功能。
选项C的说法正确。
8.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
9.D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
python没有char类型,一个字符也是字符串,故本题选D选项。
10.B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
解析:
B
【详解】
本题考查的是Python函数。
print()是Python输出函数;input()是Python输入函数。
故选项B正确。
11.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1或者x>1,用Python表示是x>1orx<-1,故本题选A选项。
12.B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord
解析:
B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord(H)+2)=chr(74)=‘J’,故本题选B选项。
13.B
【详解】
本题主要考查Python循环结构。
Python中所有循环必须包含的是冒号、循环体、缩进。
不是Python中所有循环必须包含的是循环次数,可能是while循环条件,故本题选B选项。
解析:
B
【详