试卷 2022年6月青少年软件编程Python等级考试试卷(三级)
2022年6月青少年软件编程Python等级考试试卷(三级)
选择题
第 1 题    单选题

下图左边的身体素质.csv”文件,要打印成下图右边的效果,每个字段之间相隔一个TAB键的距离。小明编写了如下代码,请选择:代码中横线处的内容?

f = open('身体素质.csv', 'r')
a = []
for i in f:
    a.append(i.strip('\n').split(','))
f.close
for x in a:
    line=''
            
A.

\t

B.

\n

C.

\a

D.

\r

第 2 题    单选题

小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?

a = ['a','b','c']
b = [1,2,3]
c = [b,a]
print(c[1][0])
A.

1

B.

a

C.

'1'

D.

'a'

第 3 题    单选题

下图所示,有一个名为"书目.csv"的文件。小明针对这个文件编写了5行代码,
请问,代码运行到最后打印在屏幕上的结果是?

with open('书目.csv', 'r', encoding='utf-8') as f:
    for line in f.readlines():
        a = line.split(",")
        if a[0] == "水浒传" :
            print(a[1])
A.

老残游记

B.

172

C.

55

D.

70

第 4 题    单选题

要读取下图书目.csv”文件的全部内容,小明编写了后面4行代码。请问,红色处,应该填写哪种打开模式?

f = open("书目.csv" ,  )

a = f.read()

print(a)

f.close

A.

"w"

B.

"a"

C.

"r"

D.

"a+"

第 5 题    单选题

如下所示的2行代码,最后print()函数打印出来的结果是?( )
c = [['
赵大',21,'','北京'],['钱二',20,'','西安'],['孙三',18,'','南京'],['李四',20,'','杭州']]
print(c[1][3])

A.

B.

北京

C.

西安

D.


第 6 题    单选题

set('小明你好')运行的结果是?

A.

['好', '你', '明', '小'] # 列表中,文字顺序不固定

B.

('好', '你', '明', '小') #元组中,文字顺序不固定

C.

{'好', '你', '明', '小'} #集合中,文字顺序不固定

D.

{'你', '好', '小', '明'} #文字顺序固定

第 7 题    单选题

运行下列程序,输出的结果是?( )

a=[34,7,8,23]

max(a)+abs(-5)

A.

12

B.

13

C.

18

D.

39

第 8 题    单选题

关于ord( )函数与chr( )函数,下列说法正确的是?

A.

ord( )函数的参数是整数。

B.

ord( )函数的参数是字符串类型

C.

chr( )函数的参数是字符串类型。

D.

chr( )函数返回的数据类型是int。

第 9 题    单选题

abs(-4.8)运行的结果是?

A.

4.8

B.

-4

C.

-5

D.

5

第 10 题    单选题

将十进制2022转化成十六进制,可以使用下列哪个表达式?

A.

bin(2022)

B.

int(2022)

C.

oct(2022)

D.

hex(2022)

第 11 题    单选题

关于二进制、八进制、十六进制与十进制相互转换,下列说法正确的是?

A.

十六进制转化为十进制,可以使用除16求余数,再顺序输出。

B.

二进制转化为十进制,可以使用除2求余数,再逆序输出

C.

十六进制转化为十进制,可以使用除16求余数,再逆序输出

D.

n位二进制能表示的最大十进制数是2的n次方减一。

第 12 题    单选题

下列进制转换,正确的是?

A.

0x14转化为十进制,结果是20

B.

20转化成八进制,结果是0o20

C.

0x14转化为十进制,结果是22。

D.

20转化成八进制,结果是0o30。

第 13 题    单选题

Python中将十进制20转化成八进制,我们可以使用下列哪个表达式?

A.

bin(20)

B.

int(20)

C.

oct(20)

D.

hex(20)

第 14 题    单选题

运行下列程序,输出的结果是?

try:
    a=int(input())
    b=int(input())
    r=a/b
    print('商是:',r)
except:
    print('错误')
else:
    print('正确')
finally:
    print('结束')

当输入:

16

8

A.

错误

B.

商是: 2.0

正确

C.

商是: 2

正确

结束

D.

商是: 2.0

正确

结束

第 15 题    单选题

Python异常处理结构中,如果程序执行没有遇到异常(错误),不会执行什么关键字后面的语句体?

A.

try

B.

except

C.

else

D.

finally

第 16 题    单选题

小明使用Python编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种?

A.

枚举算法

B.

解析算法

C.

排序算法

D.

对分查找算法

第 17 题    单选题

“韩信点兵”是一个古老的数学问题,可以应用中国剩余定理进行求解。以下是使用计算机解决“韩信点兵”问题的几个步骤:
①编写Python程序,用计算机进行处理。
②设计“韩信点兵”求解算法。
③验证算法的功能和性能。
④分析问题,确定解题任务。
使用计算机解决“韩信点兵”问题,正确的步骤是下列哪一

A.

②④①③

B.

④①②③

C.

④②③①

D.

④②①③

第 18 题    单选题

关于算法描述的三种基本结构,下列哪项正确?

A.

顺序结构、选择结构、循环结构。

B.

if选择结构、for循环、while循环。

C.

处理框、判断框、流程线。

D.

自然语言、流程图、程序设计语言。

第 19 题    单选题

enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。下列程序
example = '7890'
for i,j in enumerate(example):
    print(i,j)
运行后的输出结果是?

A.

0,7
1,8
2,9
3,0

B.

(0 7)
(1 8)
(2 9)
(3 0)

C.

0 7
1 8
2 9
3 0

D.

(0,7)
(1,8)
(2,9)
(3,0)

第 20 题    单选题

关于enumerate()函数的说法不正确的是?

A.

该函数是Python内置函数。

B.

该函数可用于判断数据类型是否是数值类型。

C.

该函数可将一个可遍历对象按照设置的序号组合成一个索引序列。

D.

该函数通常用在for循环中,可返回一个内部由一个个元组组成的列表。

第 21 题    单选题

运行下列程序,输出的结果是?

x=7

print(eval(“x+4”))

A.

输出”x+4”

B.

输出数字11

C.

输出“7+4”

D.

程序出错

第 22 题    单选题

如果不知道对象的数据类型,我们可以使用什么函数查看?

A.

type()

B.

dir()

C.

set()

D.

help()

第 23 题    单选题

divmod(6,2)的运行结果是?

A.

3

B.

4

C.

3,0)

D.

0,3

第 24 题    单选题

下列表达式的值最大的选项是?

A.

len([1,2,3,4,5,789])

B.

max([78,6,5,67] )

C.

abs(-90)

D.

round(38.4)

第 25 题    单选题

如下程序:
a=[5,10,32,7]
  for i in a:
      print(i,”:”,bin(i))
该程序段的功能是?( )

A.

分别输出5,10,32,7的二进制数。

B.

分别输出5,10,32,7的八进制数

C.

分别输出5,10,32,7的在列表中的索引位置。

D.

分别输出5,10,32,7的十六进制数。

判断题
第 26 题    判断题

小明编写了如下所示的3行代码 
list1 = ['
','','','','','','',''] 
print(list1[1:-4]) 
print(list1[1:4]) 
小红看到代码后说:小明,你这代码第2行与第3行,两次运行的print()函数,结果完全相同呀。” 
请判断,小红所说,是否正确?

A.
正确
B.
错误
第 27 题    判断题

具有查看函数或模块说明功能的函数是help()

A.
正确
B.
错误
第 28 题    判断题

any()函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。

A.
正确
B.
错误
第 29 题    判断题

all()函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回True,否则返回False。

A.
正确
B.
错误
第 30 题    判断题

divmod()函数执行结果是返回一个包含商和余数的元组

A.
正确
B.
错误
第 31 题    判断题

执行代码print(type(0x20)),运行结果是<class 'int'>。

A.
正确
B.
错误
第 32 题    判断题

八进制数0o10转化成十六进制数为0x8。

A.
正确
B.
错误
第 33 题    判断题

使用异常处理的方式执行程序时,当try里面的程序出现数据类型输入错误时,执行except ZeroDivisionError下面的语句;当try里面的程序出现除数为零的错误时,执行except ValueError下面的语句。

A.
正确
B.
错误
第 34 题    判断题

有一个名为身体素质.csv”的文件,内容为学生的姓名、身高和体重,文件内容如下:

李四,127,32

王五,131,34

赵六,129,33

小明想编写代码,在整个文件的首行,插入数据张三,133,36”,他编写了如下代码,请判断,代码能正确运行吗?( )

f = open('身体素质.csv', 'a')

f.seek(0,0)  #seek()方法,将文件指针移动到整个文件的最前面。

f.write('张三,133,36\n')

f.close()

A.
正确
B.
错误
第 35 题    判断题

小明编写了代码一,小红看到后说:我写的代码二,打印出来的结果与小明的代码一相同。请判断,小红所说对吗?( )

代码一:

f = open('成绩.csv', 'r')
for i in f:
    a = i.strip('\n').split(',')
    print(a)
f.close

代码二:

f = open('成绩.csv', 'r')
a = []
for i in f:
    a.append(i.strip('\n').split(','))
f.close
print(a)
A.
正确
B.
错误
编程题
第 36 题    问答题

请读取文件"cj.csv"的数据,数据内容如下图所示

下列代码实现了读取姓名体质测试信息,输出体质测试考核为A的数量(大于等于85分)并显示相应同学姓名,请你补全代码。

import csv
with open('cj.csv') as f:
     rows = list(  ①  )
     n=0
     for row in rows[1:]:
        if   ②  :
            print(row[0])
            n+=1
print(n)
第 37 题    问答题

下面程序,按字典序列统计出单词的个数,执行结果如下:

are:2

first:2

happy:1

is:3

your:2

请补全下列代码中的①②③④四处。

a=['is','happy','is','your','are','first','first','is','are','your']
n=len(a)-1
for i in range(0,n):
    for j in range(i+1,n+1):
        if a[i]>a[j]:
                  ①     
key=a[0]
i=1
ans=1
while i<=n:
    if key==a[i]:
               ②    
        i+=1
    else:
        print(a[i-1]+':'+str(ans))
        key=a[i]
               ③     
        i+=1
       ④  
第 38 题    问答题

小明用冒泡排序算法编写了一段代码,请帮他把代码中红色标记的①②③处,补充完整。

a = [8,4,2,11,3,9]
n = len(a)
for i in range(0,     ①     ):
    for j in range(0,     ②     ):
        if a[j]>a[   ③   ]:
            a[j],a[j+1] = a[j+1],a[j]      
print(a)
答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟