电子学会python一级官方模拟试题精品.docx
《电子学会python一级官方模拟试题精品.docx》由会员分享,可在线阅读,更多相关《电子学会python一级官方模拟试题精品.docx(12页珍藏版)》请在冰豆网上搜索。
电子学会python一级官方模拟试题精品
电子学会python一级官方模拟试题精品
一、选择题
1.下列Python程序段运行的结果是()。
i=0
sum=0
whilei<10:
ifi%3==0:
sum+=i
i+=1
print("sum=",sum)
A.sum=9B.sum=10C.sum=18D.sum=19
2.在Python中要生成随机数,应该使用()。
A.math模块B.random模块
C.numpy模块D.pygame模块
3.应用软件是为满足用户不同领域、不同问题的应用需求而设计的软件。
以下不属于应用软件的是()
A.WordB.微信C.考试系统D.python
4.在Python程序中,要求s=3+6+9+…+300的值,可以采用如下代码,下列选项中的说法不正确的是()。
A.for循环语句中步长为3B.语句s=0应改为s=1
C.语句s=s+i共循环执行了100次D.程序使用了循环结构
5.队列在Python中,用()实现队列的创建,队列的基本操作:
()()()()线性数据结构又称线性表。
A.随机;入队;出队;求队长;判队空B.列表;入队;出队;求队长;判队空
C.列表;随机;出队;求队长;判队空D.入队;随机;列表;求队长;判队空
6.小平打算用python编写一个管理班上同学通讯录的程序,如果用一个变量A来对应处理同学们的电话号码,这个变量A定义成什么数据类型比较适合?
()。
A.布尔型B.浮点型C.整型D.字符串
7.小王编写了出租车收费的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
8.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是()
A.(x%4==0)or(x%100!
=0)
B.(x%4==0)and(x%100!
=0)
C.(x/4==0)or(x/100!
=0)
D.(x/4==0)and(x/100!
=0)
9.Python中的数据类型float表示()
A.布尔型B.整型C.字符串型D.浮点型
10.有python程序如下:
S=input()
print(S*3)
运行后通过键盘输入6,则运算结果是()
A.666B.SSSC.18D.S*3
11.以下python程序段运行后,s的值是( )
n=0
s=0
while s <= 10:
n=n+3
s=s+n
print (s)
A.0B.3C.18D.30
12.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,10):
s=s+i
print("s=",s)
A.s=35B.s=45C.s=55D.s=65
13.12Python语言语句块的标记是()
A.分号B.逗号C.缩进D./
14.在Python中print(-14//4)的运行结果是()。
A.-4B.-3.5C.2D.-2
15.在Python中,设a=2,b=3,表达式not(b-a>0)值是()
A.1B.-1C.TrueD.False
二、程序填空
16.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:
1**3+5**3+3**3=153。
这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。
需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print("三位数之内的水仙花是:
")
forxin_____:
b=x//100
s=_____
g=_____
ifx==(b**3+s**3+g**3):
_____
17.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。
请完善程序。
程序如下:
importmath
defIsPrime(i):
ifi==1:
returnFalse
forjinrange(2,int(math.sqrt(i))+1):
if____:
returnFalse
returnTrue
a=int(input("请输入a:
"))
b=int(input("请输入b:
"))
summ=0
foriinrange(a,b+1):
ifIsPrime(i):
________
whilet>0:
summ=summ+t%10
_________
print("数字和为:
",summ)
18.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:
3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:
”))
h=int(input(“请输入高h:
”))
_________________________
c=2*pi*r
s=pi*r**2
S=c*h
V=s*h
print(c,s,S,V)
(1)解决问题的程序用到的控制结构有:
__________________(填:
顺序结构、分支结构、循环结构)
(2)请将程序补充完整。
(3)请找出程序中的错误代码,并改正。
____________________________________________
19.以下是计算s=1+6+11+...+101的程序代码,请补全程序。
s=0
foriinrange(1,102, ):
s=
print(s)
请补充完成上述程序①_________②_________
20.完善程序。
以下是计算S=1+6+11+…+101的程序代码。
请你在
处填写正确的语句。
s=0
k=1
while(k<=101)
__
s=0
k=1
while(k<101):
k=k+5
s=s+k
print(s+1)
21.程序补充:
(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?
调用round()函数,保留结果两位小数。
money=_______________________________
rate=_________________________________
for___________________________________
____________________________________
print(“5年以后存款总额:
”,money,“元”)
(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。
每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。
在收益率不变的情况下,多少年后本金被全部取出?
money=________________________________
year=__________________________________
while_________________________________
_________________________________
________________________________
print(year,“年后资金被全部取出”)
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1
解析:
C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1+1=2
i=2<102%3==0不成立i=2+1=3
i=3<103%3==0sum=0+3=3i=3+1=4
i=4<104%3==0不成立i=4+1=5
i=5<105%3==0不成立i=5+1=6
i=6<106%3==0sum=3+6=9i=6+1=7
i=7<107%3==0不成立i=7+1=8
i=8<108%3==0不成立i=8+1=9
i=9<109%3==0sum=9+9=18i=9+1=10
i=10<10不成立
输出sum=18,故答案C正确。
2.B
【详解】
本题主要考查Python随机函数。
math模块提供了许多对浮点数的数学运算函数;random模块提供许多生成随机数的函数;numpy模块支持大量的维度数组与矩阵运算,此外也针对数组
解析:
B
【详解】
本题主要考查Python随机函数。
math模块提供了许多对浮点数的数学运算函数;random模块提供许多生成随机数的函数;numpy模块支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,pygame模块专为电子游戏设计,包含图像、声音等。
故在Python中要生成随机数,应该使用random模块,故本题选B选项。
3.D
【详解】
本题考查的是应用软件。
应用软件(Application)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。
p
解析:
D
【详解】
本题考查的是应用软件。
应用软件(Application)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。
python是编程软件,属于系统软件。
故本题应选D。
4.B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序调试。
分析代码可知,for循环语句中步长为3,变量s的初值应为0,语句s=s+i共循环执行了100次,程序使用了for循环结构,故本题选B选项。
5.B
【详解】
本题考查数据结构相关知识。
在Python中,用列表实现队列的创建,队列的基本操作:
入队,出队,求队长,判队空线性数据结构又称线性表。
因此B选项正确。
【点睛】
解析:
B
【详解】
本题考查数据结构相关知识。
在Python中,用列表实现队列的创建,队列的基本操作:
入队,出队,求队长,判队空线性数据结构又称线性表。
因此B选项正确。
【点睛】
6.D
【详解】
本题考查的是数据类型。
A.布尔型用于表示真(对)或假(错),A错误;B.浮点型,即带小数点的数字都称为浮点数,B错误;C.整型用于执行加(+)减(-)乘(*)除(/)运
解析:
D
【详解】
本题考查的是数据类型。
A.布尔型用于表示真(对)或假(错),A错误;B.浮点型,即带小数点的数字都称为浮点数,B错误;C.整型用于执行加(+)减(-)乘(*)除(/)运算;C错误;D.字符串能够灵活表示一串数据,长度大小灵活多变,存储电话号码位数较多,故D比较合适。
故选D。
7.C
【详解】
本题主要考查Python条件分支结构。
分析代码可知,程序采用条件分支结构,第一个条件是s1<=3,第二个条件是310,故最恰当的一组测试数据是1,6,
解析:
C
【详解】
本题主要考查Python条件分支结构。
分析代码可知,程序采用条件分支结构,第一个条件是s1<=3,第二个条件是310,故最恰当的一组测试数据是1,6,20,故本题选C选项。
8.B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python表达式的运算。
逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!
=0,故本题选B选项。
9.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
10.A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。
11.C
【详解】
本题主要考查Python程序的执行。
n=0,s=0,循环条件是s<=10,则循环结束时,n=n+3=0+3+3+3=9,s=s+n=0+3+6+9=18,故程序结束后,s的值是18,故
解析:
C
【详解】
本题主要考查Python程序的执行。
n=0,s=0,循环条件是s<=10,则循环结束时,n=n+3=0+3+3+3=9,s=s+n=0+3+6+9=18,故程序结束后,s的值是18,故本题选C选项。
12.B
【详解】
本题主要考查Python程序的执行。
s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
13.C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
解析:
C
【详解】
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
14.A
【详解】
本题主要考查Python表达式的运算。
运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式的运算。
运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
15.D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
a=2,b=3,b-a>0值为True,则表达式not(b-a>0)值是False,故本题选D选项。
二、程序填空
16.range(100,1000)x//10%10x%10print("三位数之内的水仙花是:
"+str(x))
【详解】
本题主要考查Python程序的执行与调试。
①水仙花数是指一个三位数,即[100,999],forxinrange(100,1000)表示x的范围是100-999,故此处填range(100,1000)。
②变量g、s、b分别存放个位、十位、百位上的数,故s=x//10%10(“//”表示整除,“%”表示取余)。
③g=x%10。
④如果满足x==(b**3+s**3+g**3),则输出“三位数之内的水仙花是:
x”,故此处填print("三位数之内的水仙花是:
"+str(x))。
17.i%j==0t=it=t//10
【详解】
本题主要考查Python程序执行与调试。
①此处是处理从2开始到i开方加1,若能整除i则表明i不是素数,否则直到循环结束,表明i是素数,故此处填i%j==0。
②若i是素数,则将变量i赋给变量t,并通过while循环将t的每一位取出来并加到summ中,故此处填t=i。
③同理此处取出个位数后,更新t的值继续循环,故此处填t=t//10。
18.顺序结构pi=3.14r=float(input(“请输入半径r:
”))整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高h:
”))
【详解】
本题主要考查Python程序执行与调试。
①分析程序可知,解决问题的程序用到的控制结构有:
顺序结构。
②圆周率定义为:
3.14,故第二空填pi=3.14。
③r=float(input(“请输入半径r:
”))整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高h:
”))。
19.s+i
【详解】
本题主要考查Python循环结构。
题目要求计算1、6、11..101等差数列之和,其中公差为5,因此①为5;s变量用于记录等差数列之和,需进行累加计算,因此②为s+i。
【点睛】
20.s=s+k
k=k+5
print(s)
【详解】
本题主要考查Python程序的执行与调试。
s=0,k=1,计算S=1+6+11+…+101,循环条件是k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。
21.[0.0325,0.03,0.03,0.02,0.0175]iinrate:
(没有冒号算错误)money=round(money*(1+i),2)1000000money>0或money>=0money=round(money*1.037-20000,2)year=year+1
【详解】
本题主要考查Python程序语句。
①此处是变量money的初始化,有5万元资金存入银行,故填50000。
②5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填[0.0325,0.03,0.03,0.02,0.0175]。
③通过for循环,从rate数组中取值,故填iinrate:
(没有冒号算错误)。
④调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。
⑤购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。
⑥year的初始值也为0,故填0。
⑦循环条件是money大于0或大于等于0,故填money>0或money>=0。
⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。
⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。