试题全国计算机等级考试二级Python真题及解析1.docx
《试题全国计算机等级考试二级Python真题及解析1.docx》由会员分享,可在线阅读,更多相关《试题全国计算机等级考试二级Python真题及解析1.docx(17页珍藏版)》请在冰豆网上搜索。
试题全国计算机等级考试二级Python真题及解析1
试题全国计算机等级考试二级Python真题及解析1
一、选择题
1.在Python中,input()函数的返回结果的数据类型为()
A.Number型B.String型C.List型D.Sets型
2.现有如下python程序段:
foriinrange(6):
p.append(int(random()*10)+1)
foriinrange(2,6):
ifi%2==1andp[i]%2==0:
p[i]+=p[i-1]
elifi%2==0andp[i]%2==1:
p[i]-=p[i-1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1,2,3,4,7,2
B.1,2,14,-9,-5,8
C.6,8,1,4,6,10
D.6,4,14,-7,3,8
3.有如下python程序段
n=int(input("请输入n值:
"))
x=n;y=0
ifx>0:
y=y+1
elifx<0:
y=y-1
print(y)
执行上述语句,下列说法不正确的是()
A.若输入-1,则输出y值为-1B.若输入0,则输出y值为-1
C.若输入1,则输出y值为1D.若输入2,则输出y值为1
4.Python语句中以r或R开头的字符串表示原始字符串,则print(r"\nGood")的运行结果是()
A.新行和字符串GoodB.r"\nGood"C.\nGoodD.字符r、新行和字符串Good
5.以下Python代码的运行结果是()。
a=3
b=4
a=a*b
print(a)
A.3B.4C.12D.a*b
6.在Python中,实现多分支选择结构的较好方法是()。
A.ifB.if-elseC.if-elif-elseD.if嵌套
7.在python中,运行下列程序,正确的结果是()。
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
8.运行下列Python程序,结果正确是()
a=32
b=14
c=a//b
print(c)
A.2.2B.2C.“2”D.4
9.在python中,语句print(a,b)的意思是()
A.打印a,bB.输出(a,b)C.输出a,bD.输出a,b的值
10.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a=a*b
b=a//b
a=a//b
A.a=3b=5B.a=15b=3C.a=5b=5D.a=5b=3
11.下列选项中,属于Python输入函数的是()。
A.random()B.print()C.Cout()D.input()
12.关于python程序设计语言,下列说法不正确的是()
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
13.下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是()
A.图中文件存储结构为树结构,python34为树的根结点(父节点)
B.图中python34根结点有4个子结点
C.图中python34根结点下有5个子树(子结点)
D.图中Tools是python34的子树(子结点)
14.如下Python程序段
foriinrange(1,4):
forjinrange(0,3):
print("Python")
语句print("Python")的执行次数是()
A.3B.4C.6D.9
15.下列不属于高级编程语言的是
A.C语言B.VB语言C.Python语言D.机器语言
二、程序填空
16.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。
文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。
请根据流程图的每个步骤,填写程序段编号,如A:
⑦B:
①D:
③。
现填写C、E、F、G对应的程序段编号.C:
__________E:
__________F:
__________G:
__________
图a
图b
图c
图d
17.有如下程序段:
sum=0
foriinrange(1,20,3):
sum+=i
print(“sum=”,sum)
(1)循环变量i的初值为:
_________,终值为:
_________,步长为:
__________。
(2)该程序执行后,输出的结果为:
____________________。
18.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
19.编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。
*
**
***
****
20.阅读程序。
分析下列切片相关程序并回答问题。
list2=[5,6,7,8,9]
print(list2[:
])
print(list2[2:
])
print(list2[:
2])
print(list2[1:
3])
print(list2[2:
4])
(1)程序第一个print的输出结果是______________。
(2)程序第二个print的输出结果是______________。
(3)程序第三个print的输出结果是______________。
(4)程序第四个print的输出结果是______________。
(5)程序第五个print的输出结果是______________。
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.B
【详解】
本题主要考查Python输入函数。
在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。
解析:
B
【详解】
本题主要考查Python输入函数。
在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。
2.BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:
BD
【详解】
本题主要考查Python程序执行。
第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行p[i]-=p[i-1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1,2,14,-9,-5,8或6,4,14,-7,3,8,故本题选BD选项。
3.B
【详解】
本题主要考查Python程序执行。
分析程序可知,当x>0,执行y=y+1;当x<0,执行y=y-1;若输入0,则不满足if条件结构跳过,输出y值为0,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序执行。
分析程序可知,当x>0,执行y=y+1;当x<0,执行y=y-1;若输入0,则不满足if条件结构跳过,输出y值为0,故本题选B选项。
4.C
【详解】
本题主要考查Python输出语句。
“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"\nGood")的运行结果是\nGood,故本题选C选项。
解析:
C
【详解】
本题主要考查Python输出语句。
“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"\nGood")的运行结果是\nGood,故本题选C选项。
5.C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
a=3,b=4,a=a*b=3*4=12,故运行的结果是12,故本题选C选项。
6.C
【详解】
本题主要考查多分支选择结构。
多分支选择结构格式:
if-elif-else,故本题选C选项。
解析:
C
【详解】
本题主要考查多分支选择结构。
多分支选择结构格式:
if-elif-else,故本题选C选项。
7.A
【详解】
本题主要考查Python程序的执行。
foriinrange(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
foriinrange(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
8.B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序运行。
a=32,b=14,c=a//b=32//14=2(“//”取整),故本题选B选项。
9.D
【详解】
本题主要考查Python输出函数。
在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。
解析:
D
【详解】
本题主要考查Python输出函数。
在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。
10.D
【详解】
本题主要考查Python表达式的运行。
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的
解析:
D
【详解】
本题主要考查Python表达式的运行。
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的值为a=5b=3,故本题选D选项。
11.D
【详解】
本题主要考查Python输入函数。
random()是随机函数,print()是输出函数,Cout()函数是统计字符串里某个字符出现的次数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python输入函数。
random()是随机函数,print()是输出函数,Cout()函数是统计字符串里某个字符出现的次数,input()是输入函数,故本题选D选项。
12.B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
13.B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子
解析:
B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。
14.D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
15.D
【详解】
本题考查的是程序语言。
常见的高级编程语言有:
C、VB、Python等。
机器语言是计算机语言的一种不属于高级语言。
故应选D。
【点睛】
解析:
D
【详解】
本题考查的是程序语言。
常见的高级编程语言有:
C、VB、Python等。
机器语言是计算机语言的一种不属于高级语言。
故应选D。
【点睛】
二、程序填空
16.②⑤⑥④
【详解】
本题主要考查算法及Python程序实现。
①jieba 模块是一个用于中文分词的模块,lcut 方法直接返回 list,流程图中分词后存入words中对应的代码是words=jieba.lcut(txt),故填②。
②流程图中循环结构对应的是程序中的⑤。
③对counts的值进行排序,可以使用sort方法实现,对应程序中的⑥。
④使用循环结构将值一一输出,对应程序中的④。
17.初值为1终值为:
20步长为:
3sum=70
【详解】
本题主要考查Python循环结构。
由代码foriinrange(1,20,3),可知循环变量i的初值为1,终值为20,步长为3。
该程序执行后,输出的结果为sum=sum+i=0+1+4+7+10+13+16+19=70。
18.BCCCD
【详解】
本题主要考查二分查找算法及Python程序实现。
①二分查找的循环条件是left<=right,故选B选项。
②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。
③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。
④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。
⑤否则更新right的值为mid-1,选D选项。
19.layer=int(input("请输入需要打印的层数:
"))
forxinrange(1,layer+1):
foryinrange(1,x+1):
print("*",end="")
print("")
【详解】
本题主要考查Python循环结构。
Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。
range可以生成一个整数列表,列表范围根据接收的layer来确定。
外层循环用于确定输出行数,内层循环用于控制每行符号个数。
【点睛】
20.[5,6,7,8,9][7,8,9][5,6][6,7][7,8]
【详解】
本题主要考查Python列表截取。
Python列表的正向索引下标是从零开始,不是1;当只有冒号,表示全部元素;只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后);只有冒号尾下标i(代表的是从开始一直截取到i-1的元素);头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素),因此①[5,6,7,8,9]②[7,8,9]③[5,6]④[6,7]⑤[7,8]。
【点睛】
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。