2022年6月青少年软件编程Python等级考试试卷(三级)
剩余时间 --:--:--
单选题 共 25 题
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=''
2.

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

a = ['a','b','c']
b = [1,2,3]
c = [b,a]
print(c[1][0])
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])
4.

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

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

a = f.read()

print(a)

f.close

5.

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

6.

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

7.

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

a=[34,7,8,23]

max(a)+abs(-5)

8.

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

9.

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

10.

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

11.

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

12.

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

13.

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

14.

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

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

当输入:

16

8

15.

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

16.

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

17.

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

18.

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

19.

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

20.

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

21.

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

x=7

print(eval(“x+4”))

22.

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

23.

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

24.

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

25.

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

判断题 共 10 题
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

有一个名为身体素质.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()

10.

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

代码一:

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)
问答题 共 3 题
1.

请读取文件"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)
2.

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

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
       ④  
3.

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

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)
C++ 编辑器
输入
输出