2022年9月青少年Python软件编程(三级)等级考试真题试卷及答案解析

一、单选题(共25题,每题2分,共50分)

1.下列程序运行结果是?( )

a=12

b=23

c=str("a+b")

print(c)

A. 35

B. 1223

C. a+b

D. 出现错误提示

试题类型:单选题

标准答案:C

试题难度:容易

2.通过算式1×23+1×22+0×21+1×20可将二进制1101 转为十进制,下列进制转

换结果正确的是?( )

A. 0b10转为十进制,结果是2

B. 0d10转为十进制,结果是8

C. 0x10转为十进制,结果是10

D. 0o10转为十进制,结果是16

试题类型:单选题

标准答案:A

试题难度:一般

3.语句float('something') 抛出的异常名称为?( )

A. ValueError

B. ImportError

C. IndexError

D. FileNotFoundError

试题类型:单选题

标准答案:A

试题难度:一般

4.在Python语言中,关于bin(0x11)的功能,下列说法正确的是?( )

A. 将十进制数11转换为二进制

B. 将十六进制数11转换为二进制

C. 将二进制数11转换为十进制

D. 将十六进制数11转换为十进制

试题类型:单选题

标准答案:B

试题难度:一般

5.问题如图所示,用计算机解决该问题,比较适合使用?( )

A. 解析算法

B. 枚举算法

C. 冒泡算法

D. 二分查找算法

试题类型:单选题

标准答案:A

试题难度:容易

6.将十进制数30转换为十六进制数,最低位上是?( )

A. c

B. d

C. e

D. f

试题类型:单选题

标准答案:C

试题难度:较难

7.以下表达式的值为Fasle的是?( )

A. all (())

B. all ([])

C. all ((0,))

D. all([1,2])

试题类型:单选题

标准答案:C

试题难度:容易

8.现在一组初始记录无序的数据“7,9,3,2,5”使用选择排序算法,按从小到

大的顺序排列,则第一轮排序的结果为?( )

A. 7,9,3,2,5

B. 3,2,5,7,9

C. 2,3,5,7,9

D. 2,9,3,7,5

试题类型:单选题

标准答案:D

试题难度:容易

9.关于hex()函数,描述不正确的是?( )

A. hex()函数的功能是将十进制整数转换成十六进制数

B. hex()函数的参数是一个十进制整数

C. hex()函数的返回值是一个十六进制数

D. hex()函数的返回值是一个字符串

试题类型:单选题

标准答案:C

试题难度:一般

10.下列关于表达式的计算结果,不正确的是?( )

A. hex(0x37) 的结果是'0x37'

B. hex(0o67) 的结果是'0x37'

C. hex(0b1011) 的结果是'0xb'

D. hex(int('11',16))的结果是'0x17’

试题类型:单选题

标准答案:D

试题难度:容易

11.有如下程序段:

ls=['武汉','温州','香港','重庆']

f=open('city.csv','w')

f.write(','.join(ls)+'\n')

f.close()

下列说法正确的是?( )

A. f=open('city.csv','w')说明当前是读取模式

B. f.write(','.join(ls)+'\n')语句改成f.write(' '.join(ls)+'\n'),结

果依然以逗号分隔

C. 删除f.close()语句,也能保存文件

D. 当前程序的功能是将列表对象输出到CSV文件

试题类型:单选题

标准答案:D

试题难度:一般

12.异常是指?( )

A. 程序设计时的错误

B. 程序编写时的错误

C. 程序编译时的错误

D. 程序运行时的错误

试题类型:单选题

标准答案:D

试题难度:容易

13.关于input()函数,描述不正确的是?( )

A. input()函数是输入函数

B. input()函数的功能是从键盘读入一行文本

C. input()函数不需要参数

D. input()函数接收到的数据类型是数值类型

试题类型:单选题

标准答案:D

试题难度:容易

14.有如下程序段:

strSZ=["语文","数学","英语","科学"]

str=strSZ[1]

print(str)

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

A. 语文

B. 数学

C. 英语

D. 科学

试题类型:单选题

标准答案:B

试题难度:容易

15.print(min(80,100,max(50,60,70)))的运行结果是?( )

A. 80

B. 100

C. 50

D. 70

试题类型:单选题

标准答案:D

试题难度:一般

16.下列表达式的结果不为'f'的是?( )

A. 'g'-1

B. chr(ord('g')-1)

C. chr(ord('F')+32)

D. chr(ord('G')+31)

试题类型:单选题

标准答案:A

试题难度:容易

17.关于查找的说法,下列说法正确的是?( )

A. 顺序查找要先对数据进行排序

B. 进行顺序查找,一定能找到数据

C. 二分查找是一种高效的查找方法

D. 二分查找法不需要对数据进行排序

试题类型:单选题

标准答案:C

试题难度:一般

18.用open()打开文件时,返回的是?( )

A. 列表

B. 字符串

C. 文件对象

D. 元组

试题类型:单选题

标准答案:C

试题难度:容易

19.打开a.txt文件后,将“See you next time.”写入文件,下列语句不正确的是?( )

A. f.write('See you next time.\n')

B. f.write(['See',' you',' next',' time','.\n'])

C. f.writelines(['See you next time.\n'])

D. f.writelines(['See',' you',' next',' time','.\n'])

试题类型:单选题

标准答案:B

试题难度:较难

20.语句运行后,结果是?( )

for i in range(5):

print(i)

A. 0

1

2

3

4

B. 01234

C. 1

2

3

4

5

D. 12345

试题类型:单选题

标准答案:A

试题难度:容易

21.若输入指令是list('1234'),结果是?( )

A. ('1', '2', '3','4')

B. ['1', '2', '3','4']

C. {'1', '2', '3','4'}

D. { 1, 2, 3, 4, }

试题类型:单选题

标准答案:B

试题难度:容易

22.表达式divmod(36,10) 的值为?( )

A. (3,4)

B. (6,3)

C. (3,6)

D. (4,3)

试题类型:单选题

标准答案:C

试题难度:较难

23.把文件写入到csv文件的程序段如下:

ls=[‘北京’,’上海’,’天津’,’重庆’]

f=open("city.csv","w")

______________

f.write(','.join(row)+'\n')

f.close()

划线处的代码应该为?( )

A. for i in ls:

B. for row in ls:

C. for i in range(len(ls)):

D. for row in range(len(ls)):

试题类型:单选题

标准答案:B

试题难度:一般

24.ascii(chr(65))的值是?( )

A. "'a'"

B. 'A'

C. "'A'"

D. 'B'

试题类型:单选题

标准答案:C

试题难度:一般

25.int()函数根据传入的参数创建一个新的整数,下列返回的值不是0的是?( )

A. int(1.0)

B. int(0.5)

C. int(0)

D. int()

试题类型:单选题

标准答案:A

试题难度:容易

二、判断题(共10题,每题2分,共20分)

26.小明准备编写一个程序,把新同学的联系方式保存到一个名为list的现有CSV

格式文件里。实现这一功能可以使用语句f=open('list.csv','+')来打开list.csv文件。

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:掌握open函数的用法,'+'表示以读和写的方式打开文件,符合要求

27.语句float('2020') 运行后的输出结果是:2020

试题类型:判断题

标准答案:错误

试题难度:一般

28.在Python中,代码print('{:8}'.format(12))中数字8的作用是按8位字符

宽度输出数字12。

试题类型:判断题

标准答案:正确

试题难度:容易

29.'$'.join(['张 三','李 四']).replace(' ','').split('$')可以去掉列表

项中姓名中间的空格。

试题类型:判断题

标准答案:正确

试题难度:较难

30.二进制数11110011转化为十六进制数为F3。

试题类型:判断题

标准答案:正确

试题难度:容易

31.在Python中,执行print(ord('a')+12)语句,能够得到一个数字结果。

试题类型:判断题

标准答案:正确

试题难度:一般

32.round(5566.6)=5567,所以说round()函数其实是取整函数。

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:

33.数据处理,通常是指利用四则运算中的加、减、乘、除来进行运算,从而得到正确结果。

试题类型:判断题

标准答案:错误

试题难度:容易

34.hex函数可以将十进制数转换成十六进制数。在Python交互式编程环境下,

执行语句hex(2020)后,显示的运行结果是'7e4'。

试题类型:判断题

标准答案:错误

试题难度:较难

试题解析:正确答案是'0x7e4'

35.异常处理结构中,try程序段中的每一个运行错误语句,都要转移到except程序段

中,执行异常处理语句。

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:异常处理结构中,try程序段中仅限第一个运行错误语句会被执行。

三、编程题(共4题,共30分)

36.请读取1班和2班语文学科的成绩文件“score.csv” 的数据,数据内容如下图显示:

下列代码实现了读取数据并分别统计1班和2班语文成绩的和,请你补全

代码。 (考生对于本题不需要运行通过,请直接编写代码确认无误后保存答案即可)

import csv
with open("    ①    ") as f:
    rows = list(csv.reader(f))
    sum1 = 0
    sum2 = 0
    for row in rows[1:]:
        if int(     ②    ) == 1:
            sum1 += int(row[1])
        else:
            sum2 += int(row[1])
    print(    ③   )

试题类型:编程题

标准答案:

评分参考:

1. score.csv(1分)

2. row[0] (2分)

3. sum1,sum2(1分)

试题难度:容易

试题解析:

import csv
with open("score.csv") as f:
    rows = list(csv.reader(f))
    sum1 = 0
    sum2 = 0
    for row in rows[1:]:
        if int(row[0]) == 1:
            sum1 += int(row[1])
        else:
            sum2 += int(row[1])
    print(sum1, sum2)

37.牧场举行联欢会,n头奶牛自发举行歌咏比赛。邀请了山羊公公、斑马哥

哥、白兔弟弟、小喵妹妹一共四位担任歌咏比赛的评委。评比规则参赛选手

的最终得分为所有评委打分的平均分。编程输出每位参赛选手的最终得分,

请你补全代码。

n=int(input())
for i in range(   ①   ):
    a=[]
    for j in range(0,4):
       x=int(input())
       a.append(   ②     )
    print(      ③     / 4)

试题类型:编程题

标准答案:

评分参考:

1. n 或等效答案 ;(3分)

2. x 或等效答案; (3分)

3. sum(a) 或等效答案。(4分)

试题难度:容易

试题解析:

n=int(input())
for i in range(n):
    a=[]
    for j in range(0,4):
        x=int(input())
        a.append(x)
    print(sum(a) / 4)

38.科技小组分2个小队搜集到西红柿生长的数据信息。2个小队将数据进行

了从小到大排序: a = [1,3,4,6,7,13,17,21], b = [2,5,6,8,10,12,14,16,18] ,

请明明将这2个小队的数据进行合并,生成为一个从小到大有序的列表。

输入:

1,3,4,6,7,13,17,21

2,5,6,8,10,12,14,16,18

输出:

[1,2,3,4,5,6,6,7,8,10,12,13,14,16,17,18,21]

请帮明明编写程序实现上述功能,或补全代码。

x = input()
s = x.split(',')
a=[]
for i in range(    ①     ):
   a.append(int(s[i]))
y = input()
s = y.   ②    
b=[]
for i in range(len(s)):
   b.append(int(s[i]))
ret = []
i = j = 0
while len(a) >= i + 1 and     ③    :
   if a[i] <= b[j]:
            ④     
      i += 1
   else:
      ret.append(b[j])
      j += 1
     
if len(a) > i:
   ret += a[i:]
if len(b) > j:
          ⑤     
print(ret)

试题类型:编程题

标准答案:

评分参考:

1. len(s) 或等效答案;(3分)

2. split(',') 或等效答案;(3分)

3. len(b) >= j + 1 或等效答案;(3分)

4. ret.append(a[i])或等效答案;(3分)

5. ret += b[j:] 或等效答案。(4分)

试题难度:一般

试题解析:

x = input()
s = x.split(',')
a=[]
for i in range(len(s)):
   a.append(int(s[i]))
y = input()
s = y.split(',')
b=[]
for i in range(len(s)):
   b.append(int(s[i]))
ret = []
i, j = 0, 0
while len(a) >= i + 1 and len(b) >= j + 1:
   if a[i] <= b[j]:
      ret.append(a[i])
      i += 1
   else:
      ret.append(b[j])
      j += 1
if len(a) > i:
   ret += a[i:]
if len(b) > j:
   ret += b[j:]
print(ret)

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年等级考试周老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值