【电子学会】2022年09月Python二级试题

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

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

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

means = ['Thank', 'You']
print(len(means))
  • A. 8
  • B. 6
  • C. 2
  • D. 1

标准答案:C
试题难度:易

2、下列语句中变量 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
试题难度:易

3、今天编程课的主要内容是字典的遍历。已知字典 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
试题难度:难

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

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
试题难度:中

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

  • A. x = tp[2]
  • B. x = tp(2)
  • C. tp[3] = 12
  • D. tp(3) = 12

标准答案:A
试题难度:中

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

  • A. a[8]
  • B. a[7]
  • C. a[9]
  • D. a[10]

标准答案:B
试题难度:易

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

  • A. [‘Python’]
  • B. (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)
  • C. [‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
  • D. (‘Python’)

标准答案:B
试题难度:易

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
试题难度:难

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

s = list(range(10))
print(10 not in s)
  • A. True
  • B. False
  • C. 0
  • D. -1

标准答案:A
试题难度:易

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

list1 = [[[[['a']], ['冰墩墩']], 6], ['雪容融']]
print(len(list1))
  • A. 5
  • B. 4
  • C. 3
  • D. 2

标准答案:D
试题难度:易

11、请为下列程序空白处选出合适的选项,输出结果为 [‘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
试题难度:难

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

ls = [1, 2, [3, 4], [5, 6]]
print(ls[2][1])
  • A. 6
  • B. 2
  • C. 3
  • D. 4

标准答案:D
试题难度:中

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
试题难度:难

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
试题难度:难

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
试题难度:中

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

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
试题难度:中

22、执行以下程序,输入"中国梦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。

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

  • A. 3
  • B. 6
  • C. 9
  • D. 12

标准答案:A
试题难度:中

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

  • A. dic = {“name”: “python”}
  • B. dic = {“age”: 13}
  • C. dic = {[1, 2]: “user”}
  • D. dic = {}

标准答案:C
试题难度:中

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

  • A. len()返回字符串长度
  • B. count()统计字符或者字符串在整个字符串中的个数
  • C. sort()可以给字符串排序
  • D. split()是给字符串进行分割

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

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

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

  • 正确();错误();

标准答案:√
试题难度:易

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

  • 正确();错误();

标准答案:√
试题难度:中

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

x = 2
if 10 > 20 and x > 0:
    print('真')
else:
    print('假')
  • 正确();错误();

标准答案:√
试题难度:中

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

标准答案:×
试题难度:易

30、

a = [1, 2, 3, 4]
s = 0
for i in a:
    s += 1
print(s)

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

标准答案:√
试题难度:中

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

标准答案:×
试题难度:易

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

import turtle as t

for i in range(1, 5):
    t.forward(50)
    t.left(90)

标准答案:×
试题难度:易

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

标准答案:×
试题难度:中

34、(127, 3.56, ‘1&5#!^*2’, ‘4.(.$0…6’)是一个合法的元组。( )

标准答案:√
试题难度:易

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

标准答案:×
试题难度:易

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

36、

某航空公司对于托运行李有尺寸要求,必须满足以下条件:

每件托运行李的长、宽、高三边之和须大于或等于60厘米,且小于或等于203厘米。(注意只是三边,不考虑立方体的整个周长,相当于只求长+宽+高三个数字的和,如,长宽高为:20、30、40,则之和为90)

编写一个重复执行的程序,要求如下:

1、用户一次性输入三个数字,分别代表行李的长、宽、高(单位:厘米),三个数字直接用英文的逗号隔开;如:23,45,67

2、程序自动将输入的长宽高转化为列表或者元组;

3、程序需要判断用户输入的托运行李尺寸是否满足此航空公司的要求。

4、如果满足要求,就输出"可以托运"。如果不满足要求,就输出"不可以托运"。

5、然后重复以上操作,重复次数不限。

参考程序一:

while True:
    a = list(map(int, input().split(',')))
    s = 0
    for i in a:
        s += i
    if s >= 60 and s <= 203:
        print("可以托运")
    else:
        print("不可以托运")

参考程序二:

while True:
    a = list(map(int, input().split(',')))
    s = sum(a)
    if s >= 60 and s <= 203:
        print("可以托运")
    else:
        print("不可以托运")

试题难度: 容易
评分标准:

(1)能正确地要求用户分别输入长、宽、高;(2分)

(2)能正确地将用户输入的字符串转换为列表或者元组类型;(2分)

(3)使用至少一个if判断;(2分)

(4)能正确判断行李尺寸是否符合要求;(2分)

(5)能输出正确的结果;(1分)

(6)程序可循环运行。(1分)

37、

统计一段文本中有几句话

编写程序,要求如下:

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

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

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

参考答案:

注意:仅供参考,考生可以自行设计,结果符合题意即可。

方法一:

s = input("请输入一段中文:")
total = s.count("。")
total += s.count("?")
total += s.count("!")
print("这段话中共有%d句话" % total)

方法二:

s = input("请输入一段中文:")
total = 0
for i in s:
    if i == "。" or i == "?" or i == "!":
        total += 1
print("这段话中共有%d句话" % total)

试题难度: 较难

评分标准:

(1)用input()函数获取输入的一段中文文本;(5分)

(2)有用于记数的变量,进行统计;(5分)

(3)判断文本中每个字符是否是“。”“?”“!”,如果是就累加记数;(5分)

(4)最后进行格式化输出。(5分)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青少年编程小助手_Python

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

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

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

打赏作者

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

抵扣说明:

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

余额充值