admin 管理员组

文章数量: 1086019


2024年1月10日发(作者:求二叉树的度)

试题全国计算机等级考试二级Python真题及解析1

一、选择题

1.在Python中,input()函数的返回结果的数据类型为(

A.Number型

for i in range( 6 ):

( int( random() * 10 ) + 1 )

for i in range( 2, 6 ):

if i % 2 == 1 and p[ i ] % 2 == 0:

p[ i ] += p[ i - 1]

elif i % 2 == 0 and p[ 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

if x>0:

y=y+1

elif x<0:

y=y-1

print (y)

执行上述语句,下列说法不正确的是( )

...A.若输入-1,则输出y值为-1 B.若输入0,则输出y值为-1

C.若输入1,则输出y值为1

果是()

A.新行和字符串Good

a = 3

b = 4

a = a * b

print(a)

5.以下 Python

代码的运行结果是(

)。

B.r"nGood" C.nGoodD.字符r、新行和字符串Good

D.若输入2,则输出y值为1

4.Python语句中以r或R开头的字符串表示原始字符串,则print(r"nGood")的运行结B.String型 C.List型 D.Sets型

2.现有如下python程序段:

A.3 B.4 C.12 D.a*b

6.在Python中,实现多分支选择结构的较好方法是(

)。

A.if B.if-else C.if-elif-else D.if嵌套

7.在python中,运行下列程序,正确的结果是(

)。

A.i=4 s=10

a=32

b=14

c=a//b

print(c)

A.2.2

A.打印a,b

a = a * b

b = a // b

a = a // b

A.a=3 b=5

A.random()

B.a=15 b=3

B.print()

C.a=5 b=5

C.Cout()

D.a=5 b=3

D.input()

11.下列选项中,属于Python输入函数的是(

)。

12.关于python程序设计语言,下列说法不正确的是(

A.python是一种解释型、面向对象的计算机程序设计语言

B.python支持Windows操作系统,但不支持Linux系统

C.python源文件以***.py为扩展名

D.python文件不能直接在命令行中运行

13.下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是( )

B.2

B.输出(a,b)

C.“2”

C.输出a,b

D.4

D.输出a,b的值

9.在python中,语句print(a,b)的意思是(

10.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为

B.i=5 s=10 C.i=5 s=15 D.i=6 s=15

8.运行下列 Python程序,结果正确是(

A.图中文件存储结构为树结构,python34为树的根结点(父节点)

B.图中python34根结点有4个子结点

C.图中python34根结点下有5个子树(子结点)

D.图中Tools是python34的子树(子结点)

14.如下Python程序段

for i in range(1,4):

for j in range(0,3):

print

("Python")

语句print

("Python")的执行次数是(

A.3 B.4 C.6 D.9

15.下列不属于高级编程语言的是

...A.C 语言 B.VB语言 C.Python语言 D.机器语言

二、程序填空

16.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。

请根据流程图的每个步骤,填写程序段编号,如A:⑦B:①D:③。现填写C、E、F、G对应的程序段编号.C:__________E:__________F:__________G:__________

图a

图b

图c

图d

17.有如下程序段:

sum=0

for i in range(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=

if List[mid]==1000:

elif List[mid]<1000:

else:

print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))

(1)程序代码中①处正确的代码是(_______)。

A.left<right B.left<=right C.left!=right D.left>right

(2)程序代码中②处正确的代码是(_______)。

A.(left+right)/2 B.(left+right)2

C.(left+right)//2 D.(left+right)2

(3)程序代码中③处正确的代码是(_______)。

A.pass B.print(mid)z C.break D.continue

(4)程序代码中④处正确的代码是(_______)。-

A.left=mid B.right=mid C.left=mid+1 D.right=mid-1

(5)程序代码中⑤处正确的代码是(_______)。

A.left=mid B.right=mid C.left=mid+1 D.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程序的执行。for i in range(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。

解析:A

【详解】

本题主要考查Python程序的执行。for i in range(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=5 b=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=(txt),故填②。②流程图中循环结构对应的是程序中的⑤。③对counts的值进行排序,可以使用sort方法实现,对应程序中的⑥。④使用循环结构将值一一输出,对应程序中的④。

17.初值为1

终值为:20

步长为:3

sum=70

【详解】

本题主要考查Python循环结构。由代码for i in range(1,20,3)

,可知循环变量i的初值为1,终值为20,步长为3。该程序执行后,输出的结果为sum=sum+i=0+1+4+7+10+13+16+19=70。

18.B

C

C

C

D

【详解】

本题主要考查二分查找算法及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("请输入需要打印的层数:"))

for x in range(1,layer+1):

for y in range (1,x+1):

print("*", end="")

print("")

【详解】

本题主要考查Python循环结构。Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。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] i in rate:(没有冒号算错误) money=round(money*(1+i),2) 100000 0 money>0

或 money>=0 money=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数组中取值,故填i in

rate:(没有冒号算错误)。④调用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。


本文标签: 考查 本题 循环 结构