202209青少年软件编程(Python)等级考试试卷(二级)

发布于:2024-05-13 ⋅ 阅读:(117) ⋅ 点赞:(0)

第 1 题 【单选题】

下列语句中变量 i 取值范围是 1~10 的是? ( )

A :for i in range(11)

B :for i in range(1, 10)

C :for i in range(0, 10)

D :for i in range(1, 11)

正确答案:D
试题解析:

第 2 题 【单选题】

运行以下代码, 结果输出的是? ( )


means=[' Thank' , ' You' ]

print(len(means) )

A :8

B :6

C :2

D :1

正确答案:C
试题解析:

第 3 题 【单选题】

tp=(3, 6, 9, 11) , 以下操作正确的是? ( )

A :x=tp[2]

B :x=tp(2)

C :tp[3]=12

D :tp(3) =12

正确答案:A
试题解析:
元组是不可变数据类型, 元组中的元素不可更改;

第 4 题 【单选题】

列表 a=list(range(2, 10) ) , 下列选项中可以获取列表中最后一个元素? ( )

A :a[8]

B :a[7]

C :a[9]

D :a[10]

正确答案:B
试题解析:
a=list(range(2, 10) ) , a 列表为[2, 3, 4, 5, 6, 7, 8, 9], 最后一项的下标是 7 或-1, 获取最后一项元素的值可以用 a[7]或 a[-1]因此选 B

第 5 题 【单选题】

执行以下代码后输出的结果是? ( )

d={1: ' monkey' , 2: ' panda' , 3: ' bird' , 4: ' fish' }

d[5]=' sheep'

del d[3]

d[3]=' dog'

print(d)

A :{1: ’ monkey’ , 2: ’ panda’ , 4: ’ fish’ , 5: ’ sheep’ , 3: ’ cat’ }

B :{1: ’ monkey’ , 2: ’ panda’ , 4: ’ fish’ , 5: ’ sheep’ , 3: ’ dog’ }

C :{1: ’ monkey’ , 2: ’ panda’ , 3: ’ dog, 5: ’ sheep’ , 4: ’ duck’ }

D :{1: ’ monkey’ , 2: ’ panda’ , 3: ’ cat’ , 5: ’ sheep’ , 4: ’ duck’ }

正确答案:B
试题解析:
d[5]=’ sheep’
#{1: ’ monkey’ , 2: ’ panda’ , 3: ’ bird’ , 4: ’ fish’ , 5: ’ sheep’
del d[3] #{1: ’ monkey’ , 2: ’ panda’ , 4: ’ fish’ , 5: ’ sheep’ } d[3]=’ dog’ #{1: ’ monkey’ , 2: ’ panda’ , 3: ’ dog’ , 5: ’ sheep’ } d[3]=’ dog’ #{1: ’ monkey’ , 2: ’ panda’ , 4: ‘fish’ , 5: ’ sheep’ , 3: ’ dog’ }

第 6 题 【单选题】

今天编程课的主要内容是字典的遍历。

已知字典 dt={’ a’ : [1, 3, 5], ’ b’ : [3, 4, 7], ’ c’ : [2, 5, 9]} , 老师要求用四种不同的方法遍历字典, 都要获得如下结果

[1, 3, 5]

[3, 4, 7]

[2, 5, 9]

小程同学尝试写了四段程序, 请你帮他检查一下哪个程序的打印结果不符合要求?

A :

dt={' a' : [1, 3, 5], ' b' : [3, 4, 7], ' c' : [2, 5, 9]}

ls=[]

for i in dt. values() :

     ls. append(i)

print(i)

B :

dt={' a' : [1, 3, 5], ' b' : [3, 4, 7], ' c' : [2, 5, 9]}

ls=[]

for i in dt:

     ls. append(dt[i])

for j in ls:

     print(j)

C :

dt={' a' : [1, 3, 5], ' b' : [3, 4, 7], ' c' : [2, 5, 9]}

ls=[]

for k in dt. keys() :

     ls. append(dt[k])

for j in ls:

     print(j)

D :

dt={' a' : [1, 3, 5], ' b' : [3, 4, 7], ' c' : [2, 5, 9]}

ls=[]

for k in dt. items() :

      print(k)

正确答案:D
试题解析:
此题选择 D 选项, 如果 D 选项, 选项 D 程序的遍历结果应为 (’ a’ , [1, 3, 5])(’ b’ , [3, 4, 7]) (’ c’ , [2, 5, 9]) 只要将选项 D 的程序稍加修改就可以得到正确的打印结果。

dt={' a' : [1, 3, 5], ' b' : [3, 4, 7], ' c' : [2, 5, 9]}
ls=[] for k in dt. items() :

print(k[1])

第 7 题 【单选题】

表达式 tuple(list(’ Python’ ) ) 的运算结果是? ( )

A :[’ Python’ ]

B 😦’ P’ , ’ y’ , ’ t’ , ’ h’ , ’ o’ , ’ n’ )

C :[’ P’ , ’ y’ , ’ t’ , ’ h’ , ’ o’ , ’ n’ ]

D 😦’ Python’ )

正确答案:D
试题解析:
list() 函数将可迭代数据转换为列表, tuple() 将可迭代数据类型转换为元组

第 8 题 【单选题】

若 list_a = [5, 4, 1, 2, 3], 以下选项中能够输出 [5, 4, 3, 2, 1] 的是? ( )

A :

list_a = sorted(list_a)

print(list_a)

B :

list_a. sort()

print(list_a)

C :

list_a. sort(reverse=True)

print(list_a)

D :

list_a. sort(reverse=False)

print(list_a)

正确答案:C
试题解析:
本题考查列表的排序, 列表的排序有两种方式, 一种是使用 sorted 命令, 默认按升序排列; 另一种是使用待排序列表的 sort 命令, 默认按升序排列, 题干中要求按列表list_a 中元素大小降序排列。 A 选项使用 sorted 命令进行排序, 排序结果是[1, 2, 3, 4,5] ; B 选项使用列表的 sort 命令, 默认按升序排列, 结果是[1, 2, 3, 4, 5]; C 选项在6] sort 命令的括号中使用 reverse=True 参数, 表示按降序排列, 结果是[5, 4, 3, 2, 1]7] ; D 选项使用 reverse=False 参数, 即按升序排列, 结果是[1, 2, 3, 4, 5]。 故选 C。

第 9 题 【单选题】

以下代码的输出结果是? ( )

s= list(range(10) )

print(10 not in s)

A :True

B :False

C :0

D :-1

正确答案:A
试题解析:
range() 函数以及通用操作 in、 not in 检查元素是否包含在序列中。

第 10 题 【单选题】

以下代码运行结果正确的是? ( )

list1 = [[[[[' a' ]], [' 冰墩墩' ]], 6], [' 雪容融' ]]

print(len(list1) )

A :5

B :4

C :3

D :2

正确答案:D
试题解析:
本题考查的是序列的长度命令 len() , 同时考查嵌套序列。

第 11 题 【单选题】

以下代码的输出结果是? ( )

ls = [1, 2, [3, 4], [5, 6]]

print(ls[2][1])

A :6

B :2

C :3

D :4

正确答案:D
试题解析:
本题考查列表中序列的嵌套。 序列里面可以再套序列, 被嵌套的序列是作为一个整体看待,所以其下标为一个, 本题 ls[2][1]中第一个下标代表嵌套列表在整个列表中的位置, 第二个下标代表[3, 4]中 4 的位置, 所以本题选择 D。

第 12 题 【单选题】

请为下列程序空白处选出合适的选项, 输出结果为[’ a’ , ’ A’ , 9, ’ a’ ] ? ( )

ls1 = [' a' , ' A' , ' a' , 9, ' a' ]

______

print(ls1)

A :del ls1(’ a’ )

B :ls1. pop(2)

C :ls1. clear()

D :ls1. remove(’ a’ )

正确答案:B
试题解析:
对比 ls1 和输出结果可以知道删除的是列表中的第 3 个元素’ a’ 。 选项中一共涉及了四种删除元素的方法, 选项 A 中 del 需要在括号中填入下标值或者不填默认删除整个列表, 故 A 选项错误, C 选项 clear 作用是清除所有的元素, 故 C 选项排除, D 选项作用是移除列表里面第一次出现的指定值元素, 与本题不符, 本题中第 3 个元素对应的下标是2, 因为 pop() 函数里面只需要写对应元素的下标, 所以 B 答案正确。

第 13 题 【单选题】

下面代码的输出结果是? ( )

for i in range(1, 6) :

if i%3==0:

     break

else:

     print(i, end=", ")

A :1, 2,

B :1, 2, 3,

C :1, 2, 3, 4, 5,

D :1, 2, 3, 4, 5, 6,

正确答案:A
试题解析:
加粗样式考察 if 语句和 break 等相关知识。

第 14 题 【单选题】

给定字典 d, 哪个选项对 x in d 的描述是正确的? ( )

A :判断 x 是否是字典 d 中的键

B :x 是一个二元元组, 判断 x 是否是字典 d 中的键值对

C :判断 x 是否是字典 d 中的值

D :判断 x 是否是在字典 d 中以键或值方式存在

正确答案:A
试题解析:
键是值的序号, 也是字典中值的索引方式。

第 15 题 【单选题】

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

str1=' 0123456789'

str2=str1[1: 9: 2]

print(str2)

A :1357

B :024

C :13579

D :0246

正确答案:A
试题解析:
考察字符串切片。

第 16 题 【单选题】

小明用元组 a 存储小组同学的身高, a=(136. 0, 135. 0, 142. 0, 140. 0) , 则 min(a) 的值是?( )

A :136. 0

B :135. 0

C :142. 0

D :140. 0

正确答案:B
试题解析:

第 17 题 【单选题】

下列语句运行后, 输出结果为 2022 的是哪个? ( )

A :print(“20”+“22”)

B :print(20+22)

C :print(“2022"in"2022”)

D :

s="你好 2022"

print(s[3: 4])

正确答案:A
试题解析:

第 18 题 【单选题】

已知元组 tup2=(1, 14, 51, 4, 19, 198, 10) , 下列说法有错误的是? ( )

A :print(tup2[1: -1]) 可以截取元组的一部分, 输出的结果为(14, 51, 4, 19, 198, 10)

B :print(tup2[3: ]) 可以截取元组的一部分, 输出的结果为(4, 19, 198, 10)

C :print(tup2[3: 6]) 可以截取元组的一部分, 输出的结果为(4, 19, 198)

D :print(tup2[5]) 可以访问元组的第六个元素, 输出的结果为 198

正确答案:A
试题解析:
print(tup2[1: -1]) 可以截取元组的一部分, 输出的结果为(14, 51, 4, 19, 198)

第 19 题 【单选题】

下列说法错误的是? ( )

A :列表的大小是固定的, 不可以改变

B :len() 方法可以返回列表的元素个数

C :假设 list2 列表有十个元素, 则 list2[2]可以读取 list2 列表中的第三个元素

D :列表的数据项不需要具有相同的类型

正确答案:A
试题解析:列表的大小是可变的

第 20 题 【单选题】

请根据运行结果将代码空白处填上合适的选项? ( )

代码:

num1=1

while num1 <= 5:

    num2=1

    while num2 <= 5:

            ___________

            num2 += 1

    print()

    num1 += 1

运行结果:

1 1 1 1 1

2 2 2 2 2

3 3 3 3 3

4 4 4 4 4

5 5 5 5 5

A :print(num2, end=“”)

B :print(num2, end =" ")

C :print(num1)

D :print(num1, end =" ")

正确答案:D
试题解析:
本题考查 while 的嵌套循环, 从运行结果分析, 每打印五个一样的数字才换行, 输出 num1, 每行数字都是相等的, 输出 num2 每行都是从 1 自增到 5, 排除 A, B, C, 故选择 D

第 21 题 【单选题】

执行以下程序, 输入"中国梦 2022", 输出结果是? ( )

w = input()

for x in w:

        if x==' 0' or x ==' 2' :

                continue

        else:

                w. replace(x, ' @' )

print(w)

A :中国梦 2022

B :中国@2022

C 😡@@2022

D :2022 中国梦

正确答案:A
试题解析:
本题考查了循环控制语句 continue 以及字符串是不可变序列, 无论怎样替换字符串字符, 原来的字符串都不会发生改变, 故选择 A.

第 22 题 【单选题】

关于下列伪代码(虚拟代码) 说法正确的是? ( )

if x<10:

     代码块 A

elif x>=10 and x<20:

     代码块 B

else:

     代码块 C

A :如果 x=200, 代码块 ABC 都不会被执行

B :如果 x=20, 执行代码块 C

C :如果 x=20, 执行代码块 B

D :程序先执行 C, 再执行 B, 最后执行 A

正确答案:B
试题解析:
本题考查多条件判断语句, 根据题意, 如果 x=200, 执行代码块 C, 排除 A 选项; 如果 x=20, 执行代码块 C, 排除 C 选项; 程序只有满足条件的情况下才会执行, 排除 A 选项。 故选择 B。

第 23 题 【单选题】

字典 dic={’ Name’ : ’ Runoob’ , ’ Age’ : 7, ’ Class’ : ’ First’ } , len(dic) 的结果是? ( )

A :3

B :6

C :9

D :12

正确答案:A
试题解析:
本题考查计算字典的长度, 使用 len() 函数进行求值, 返回值为字典里元素的数量, 故选择 A。

第 24 题 【单选题】

以下不能创建一个字典的语句是? ( )

A :dic={“name”: “python”}

B :dic={“age”: 13}

C :dic={[1, 2]: “user”}

D :dic={}

正确答案:C
试题解析:
本题考查字典的创建, 以及 key 值必须要保证唯一性和准确性, 列表是可变序列不能作为 key 值, 故选择 C。

第 25 题 【单选题】

关于字符串的操作, 下列说法错误的是? ( )

A :len() 返回字符串长度

B :count() 统计字符或者字符串在整个字符串中的个数

C :sort() 可以给字符串排序

D :split() 是给字符串进行分割

正确答案:C
试题解析:
本题考查字符串中常用内建函数, 同时考查字符串为不可变序列, 所以不可以使用 sort命令排序, 故选择 C。

第 1 题 【判断题】

print(len(’ See You’ ) ) 这句指令的长度是有 7 个字符, 因为两个单词间的空格也算一个 字符。 ( )

A :正确
B :错误
正确答案:A
试题解析:

第 2 题 【判断题】

列表和元组都可以作为字典的键。 ( )

A :正确
B :错误
正确答案:B
试题解析:
只有不可变数据类型才能作为字典的键, 列表是可变的序列, 不能作为字典的键

第 3 题 【判断题】

元组是不可变的序列, 这里的不可变包括不能对元组对象进行增加元素、 删除元素, 修 改元素位置是可以的。 ( )

A :正确
B :错误
正确答案:B
试题解析:
考察对元组定义的理解

第 4 题 【判断题】

a = [1, 2, 3, 4]

s = 0

for i in a:

        s += 1

print(s)

以上代码的运行结果是 4。 ( )

A :正确
B :错误
正确答案:A
试题解析:
列表 a 中有 4 个元素, 所以循环中的下级代码会执行 4 次, 每次执行时, 变量 s 的值会加 1, 所以代码运行结束时, 变量 s 的值是 4。

第 5 题 【判断题】

以下程序的执行结果是“假” 。 ( )

x=2

if 10>20 and x>0:

        print(' 真' )

else:

        print(' 假' )

A :正确
B :错误
正确答案:A
试题解析:
表达式 10>20 的值是 False 表达式 x<0 的值是 True 那么 False and True, 结果是 False

第 6 题 【判断题】

字典中的键是唯一的, 不能重复。 而值对应于键, 值是可以重复的。 ( )

A :正确
B :错误
正确答案:A
试题解析:

第 7 题 【判断题】

运行下列程序段后, 屏幕上绘制的是一个五边形。 ( )

import turtle as t

for i in range(1, 5) :

        t. forward(50)

        t. left(90)

A :正确
B :错误
正确答案:B
试题解析:

第 8 题 【判断题】

若 s=“人脸识别可以识别人脸信息”, 则执行 s. replace(“人脸”, “图像”) 语句后, s 的值为"图像识别可以识别图像信息"。 ( )

A :正确
B :错误
正确答案:A
试题解析:

第 9 题 【判断题】

在 Python 中 range() , 表示的是正整数序列, 负数是无效的。 ( )

A :正确
B :错误
正确答案:B
试题解析:

第 10 题 【判断题】

(127, 3. 56, ’ 1&5#!^*2’ , ’ 4. (. $0. . 6’ ) 是一个合法的元组。 ( )

A :正确
B :错误
正确答案:A
试题解析:
元组中元素的类型可以不同

第 1 题 【问答题】

统计一段文本中有几句话

编写程序, 要求如下:

  1. 程序开始运行后, 需要用户输入一段中文;

  2. 根据用户的输入, 统计其中共有几句话(以句末为“。 ” “? ” 或“! ” 为依据, 判断一句话) ;

  3. 输出统计结果, 如: “这段话中共有 3 句话” 。

正确答案:

text=input("请输入一段中文") 
count=0 
for t in text: 
	if t=="。 " or t=="! " or t=="? ": 
		count=count+1 
		print("这段话中共有{} 句话". format(count) )

试题解析:
评分标准:

(1) 用 input() 函数获取输入的一段中文文本; (5 分)
(2) 有用于记数的变量, 进行统计; (5 分)
(3) 判断文本中每个字符是否是“。 ” “? ” “! ” , 如果是就累加记数; (5 分)
(4) 最后进行格式化输出。 (5 分)


网站公告

今日签到

点亮在社区的每一天
去签到